日常应用中,许多软件都会在安装过程最后一步添加多个命令,针对其应用创建快捷方式发送到桌面以及快速启动栏和开始菜单,供人们快速找到并打开。在我的使用习惯中也会将诸多常用的应用右键-发送到-桌面快捷方式来实现快速启动。但是偶然一次的使用中,应用和其对应的快捷方式都移植到了另一台机子上,发现打开快捷方式会有问题。这就引起了我的注意。对地址、路径敏感一点的同行都能想到肯定是传统的快捷方式使用了绝对的地址,而想要移植,那么相对路径是一个好对策。

就像这样对一个.exe右键创建快捷方式:

我们右键属性,可以看到用到的是绝对路径。倘若移植到了不同环境,那么该快捷方式就不能正常运行。如何来修改呢?

正文

如果想要直接在该文件属性上修改是不好实现的,反正我没成功。我们尝试采用正常的流程创建快捷方式--- 右键资源管理器中得文件夹区域-新建-快捷方式,会弹出下方对话框:

如果选择“浏览”,可以选择文件或文件夹,但还是绝对地址。在此要手动输入。

使用Explorer方式

键入

%SystemRoot%\explorer.exe

然后后面加上打开的文件或文件名,使用相对路径,如:

%SystemRoot%\explorer.exe abc

意思是打开该目录下的名为‘abc’的文件夹。%SystemRoot%是系统环境变量,详情请见计算机-高级系统设置-环境变量。注意创建完快捷方式要右键-属性把[起始位置]删除,如下:

这样就可以实现相对路径下打开文件夹,如果想打开文件,如下键入:

%SystemRoot%\explorer.exe .\main\_conf\config.ini
%SystemRoot%\explorer.exe .\HxD.exe

甚至还可以打开根目录下的上级目录中的一个文件夹,如:

%SystemRoot%/explorer.exe ..\steam

此命令代表打开当前目录的上级目录中名为‘steam’的文件夹。

这样的调用方式,就不怕移植、换环境了。

使用cmd.exe方式

同样的道理,创建快捷方式,键入:

%windir%\system32\cmd.exe /c

然后后面加标准的dos批处理命令,如运行一个应用[注意这里的 /c一定得加,不然dos界面会跳出等待用户输入,这不是我们要的,让它开一个dos命令后立即关闭dos界面]:

%windir%\system32\cmd.exe /c .\HxD.exe

还是要看一下属性中的[起始位置],把它清空。当然这里可以使用start启动应用,如:

%windir%\system32\cmd.exe /c start .\HxD.exe

如果要打开文件夹:

%windir%\system32\cmd.exe /c start .\abc

当然,你还可以以正常的批处理代码键入,如:

%windir%\system32\cmd.exe /c echo hello world>.\hello.txt

还可以多指令执行,如:

%windir%\system32\cmd.exe /c echo hello world>.\hello11.txt & start .\hello11.txt

这样也可以极大满足环境变化。

总结

【注意】所有键入的斜杠、反斜杠都是敏感的,不能随意更改,否则无效!!

这两方式殊途同归,给不同环境下快捷方式正常运行做好基础。有了此解决方案后,开发后期也能得到应用,做一些快捷通道,包括执行语句、调用文件等操作、逻辑判断、文件读写、数据通讯等功能,个人认为挺酷的 我们下回再见!~

参考文献:

[1]      https://www.cnblogs.com/vibratea/archive/2010/09/16/1827761.html DOS中Start命令详解

[2]      https://www.zhihu.com/question/20061568 Windows 中如何创建一个指向某相对路径的快捷方式 。。。

[3]      https://blog.csdn.net/ju_pan/article/details/79454394 创建使用相对路径的快捷方式

Windows下快捷方式 (*.lnk) 的使用技巧整理的更多相关文章

  1. linux下gdb调试方法与技巧整理

    参考博客:  https://blog.csdn.net/niyaozuozuihao/article/details/91802994 1.运行命令run:简记为 r ,其作用是运行程序,当遇到断点 ...

  2. SecureCRT是最常用的终端仿真程序,简单的说就是Windows下登录UNIX或Liunx服务器主机的软件,本文主要介绍SecureCRT的使用方法和技巧

    SecureCRT是最常用的终端仿真程序,简单的说就是Windows下登录UNIX或Liunx服务器主机的软件,本文主要介绍SecureCRT的使用方法和技巧 VanDyke CRT 和 VanDyk ...

  3. Windows 下目录切换以及挂载小技巧

    Windows 下目录切换以及挂载小技巧 一.前言: 作为几年的 Linux 老用户,再购买了一款新的本本只支持 Windows(主要是Linux下的驱动)操作系统后,加之发现 Windows 提供 ...

  4. [转载]windows下mongodb安装与使用整理

    windows下mongodb安装与使用整理 一.首先安装mongodb 1.下载地址:http://www.mongodb.org/downloads 2.解压缩到自己想要安装的目录,比如d:\mo ...

  5. Windows下程序打包发布时的小技巧

    一.背景 Windows下开发的应用程序在发布时,需要将其依赖的一些动态链接库一起打进安装包里面去.这个时候,快速确定这个程序到底依赖哪些动态链接库变得非常重要.很久以前写过一篇关于Qt程序安装包制作 ...

  6. 个人整理的 Windows 下 .NET 开发必装的软件

    注: 最后更新时间:2019-03-15 一..NET 开发 1. 必装 软件名称 说明 下载地址 JetBrains Toolbox JetBrins 全家桶管理工具. 下载地址 JetBrains ...

  7. Windows下SVN服务器搭建方法整理(apache)

    http://skydream.iteye.com/blog/437959 http://www.cnblogs.com/liuke209/archive/2009/09/23/1572858.htm ...

  8. Windows下程序打包发布时的小技巧(使用Dependency Walker侦测不理想,改用VS自带的dumpbin则万无一失,还可查看dll导出的函数)

    Windows下开发的应用程序在发布时,需要将其依赖的一些动态链接库一起打进安装包里面去.这个时候,快速确定这个程序到底依赖哪些动态链接库变得非常重要.很久以前写过一篇关于Qt程序安装包制作的博客,里 ...

  9. 使用bat/vbs/ahk对Windows下进行自动化操作

    回想90年代,我们在DOS下使用各种命令链对操作进行简化和自动化,如DOS 5.0添加的DosKey,利用管道和重定向对多组命令进行链式操作.后来使用了Ubuntu和其它Linux发型版后,bash下 ...

  10. Windows 下对目录建立软链接

    在Linux下,可以很方便的通过ln命令创建对文件和对文件夹的软链接.在Windows下,通过快捷方式,可以创建到文件和文件夹的链接,但是这软链接不是一个层面的上东西.软链接是底层文件系统层面的,而快 ...

随机推荐

  1. vue3版本下element-plus和antd-vue选哪个更好一些?

    Vue 3 发布后,各家第三方库开始陆续重构并支持 Vue 3 ,国内两大知名框架 Element Plus 和 Ant Design Vue 也相续发布新版支持 Vue 3.到底应该怎么选择呢? E ...

  2. 【Java】获取近六个月的年月

    数据库里面存储的字段类型就是varchar,数据格式就是类似2024-12这样的年月格式. 目标: 以当前月份为标准,向前获取近6个月的年月(year_month)形成列表 // 获取近6个月的年月列 ...

  3. 【Vue】学习笔记:Vue组件

    文末有我看的这个视频的链接. 目录 组件注册 全局注册 组件基础 组件命名规则 template选项 单项数据流 data选项 局部注册 单独配置组件的选项对象 ES6对象属性简写 组件通信 父组件向 ...

  4. Windows10中安装了ubuntu虚拟机后xshell无法连接到ubuntu

    安装了ubuntu虚拟机后发现shell无法连接到ubuntu的排查步骤: 步骤 1: 检查虚拟机网络配置确认虚拟机网络模式:确认虚拟机的网络模式是否设置为桥接模式或NAT模式.桥接模式可以让你的虚拟 ...

  5. 《Bootstrap4Web设计与开发实战》源代码下载

    <Bootstrap4Web设计与开发实战>源代码下载: 链接:https://pan.baidu.com/s/1GaIo390c-l-gsT6-6RaaJA 提取码:fgiq 版权声明: ...

  6. 贝叶斯定律和卡尔曼滤波中,关于(e^-x)*(e^-x)的积分的计算方法

    贝叶斯定律和卡尔曼滤波中,关于(e^-x)*(e^-x)的积分的计算方法: 1.用数学软件Mathmatica计算: 2.用复变函数中的留数定理计算: 3.用FFT+卷积公式计算.

  7. STK V11.2 64位下载及视频

    1.AGI Systems Tool Kit (STK) 11.2 64位+含补丁激活教程:下载地址 2.STK视频学习资料(一):下载地址

  8. C:.c文件和.h文件的关系

    参考:1      2 问题 在进行C语言文件移植时,遇到 "通常是每个.c文件对应一个.h文件",之前了解过.h文件是头文件,用来引用其他文件的, 但在codeblocks C语 ...

  9. 十. Redis 事务和 “锁机制”——> 并发秒杀处理的详细说明

    十. Redis 事务和 "锁机制"--> 并发秒杀处理的详细说明 @ 目录 十. Redis 事务和 "锁机制"--> 并发秒杀处理的详细说明 1 ...

  10. 定制Allure报告

    定制Allure报告 自定义Logo图标 效果图 实现步骤 定位资源文件夹:首先,您需要定位到 allure/plugins/custom-logo-plugin/static 文件夹.这个文件夹通常 ...