欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  科技

U盘中的快捷方式解析

程序员文章站 2024-01-20 17:30:22
很多人都有使用绿色软件的习惯,在这里我简单称其为Portable App 将这些软甲放到U盘中随身携带,便于我们使用更加符合自身习惯的功能软件。 相信习惯将软件放到U盘启动都会碰到一个问题,就是每次打开这些软件就需要在目录中寻找对应的启动文件了。 多数人日常生活中都会通过使用快捷方式启动软件,那么我 ......

很多人都有使用绿色软件的习惯,在这里我简单称其为portable app

将这些软甲放到u盘中随身携带,便于我们使用更加符合自身习惯的功能软件。

相信习惯将软件放到u盘启动都会碰到一个问题,就是每次打开这些软件就需要在目录中寻找对应的启动文件了。

多数人日常生活中都会通过使用快捷方式启动软件,那么我们如何在u盘中创建快捷方式呢:

首先,大家尝试在u盘中创建快捷方式都会发现,创建的快捷方式都存在一个尴尬的问题,就是盘符问题,

即我们在一台电脑上为u盘(h:\)创建快捷方式,如:"h:\portable\allmynotes organizer portable\allmynotes.exe"

那么在另一台电脑上打开u盘(g:\)上的快捷方式,就会发现无法打开对应的程序了。因为"h:\..."是绝对路径的写法。

如何解决这个打开问题呢

1.下面先为大家介绍下系统环境变量的一个概念:

  在path中大家会发现例如:%systemroot%的路径写法,再比如开发人员配置jdk环境变量时经常配置%java_home%,

  这里说明下在windows环境下,%systemroot%是windows自带的一个指向系统根目录的一个默认配置项,

  不同于我们自己配置的环境变量时需要单独配置java_home的环境变量,它不需要人为去配置指定。

2.其次介绍windows系统中每天必用的explorer.exe文件资源管理器。

  需要注意文件资源管理器并不是单纯的只有你打开 我的电脑进行文件浏览,文件的增删改查时才会用到,
  windows的基础依赖之一就是文件资源管理器,它的详细介绍感兴趣的可以单独去百度,我告诉大家一个直接检测的方式

  在我们的任务管理器的详细信息中结束explorer.exe,不出意外除了你当前调用的窗口,桌面的其它地方都无法正常显示,

  这时再已管理员权限创建explore.exe的任务,桌面才能正常显示,但是之前打开的一些窗口都已经不在了。

3.重点,调用我们的explorer.exe的系统资源管理器,我们直接创建系统资源管理器的快捷键,

  这样的好处在于,无论你在哪里打开这个快捷方式,explorer.exe的路径不会改变(没毛病),就算你用的是双windows系统,

  你当前打开的系统默认也是c盘,而你的%systemroot%也默认指向你的当前系统的根目录,然后我们借助不会变化的系统根目录

  创建调用资源管理器的快捷方式,然后传入需要打开路径的参数即可,具体如下:

  依然拿刚才的"h:\portable\allmynotes organizer portable\allmynotes.exe"为例

  将快捷方式的目标项改为:%systemroot%\explorer.exe "allmynotes organizer portable\allmynotes.exe"
  起始位置项改为:"%systemroot%\explorer.exe "allmynotes organizer portable"" 即可。

  这里需要注意的是:目标项中%systemroot%\explorer.exe前后不带引号,但是后面有一个空格,

  后面的"allmynotes organizer portable\allmynotes.exe"是当前快捷键在u盘中的位置到allmynotes.exe程序的相对路径," "引号,空格都是英文输入状态下的。  起始位置项的引号总共两对" ",这个快捷方式相对启动程序的位置不能发生改变。  熟悉windows批处理的都习惯以cmd启动程序,没关系你可以将调用的explorer.exe改为你的cmd,然后以start命令打开即可,不过并不推荐这样做,具体原因不做陈述。一个小问题我已经阐述了半天了。注:之所以写的那么多是因为介绍原理,方便不了解的同学学习参考,不是为大神和拿来主义的同学准备的,就到这里了,其他系统下的方式类似,感兴趣的自己写吧。