很多人都有使用绿色软件的习惯,在这里我简单称其为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命令打开即可,不过并不推荐这样做,具体原因不做陈述。一个小问题我已经阐述了半天了。注:之所以写的那么多是因为介绍原理,方便不了解的同学学习参考,不是为大神和拿来主义的同学准备的,就到这里了,其他系统下的方式类似,感兴趣的自己写吧。

U盘中的快捷方式解析的更多相关文章

  1. VC++实现解析快捷方式

    VC++实现解析快捷方式: http://blog.csdn.net/mydreamremindme/article/details/9826745 

  2. U盘中病毒无法更改U盘隐藏属性,文件变成快捷方式

    问题:U盘中病毒了文件都变成快捷方式了,文件被隐藏:隐藏属性无法修改 解决方法: 1.首先给U盘杀毒[如360杀毒] 2.修改U盘隐藏属性:如下图 经过此步骤被隐藏的文件可以被显示出来了.但是U盘里的 ...

  3. Ubuntu启动器快捷方式文件解析

    快捷方式名称 app_name.desktop 路径: /usr/share/applications/app_name.desktop # 简洁快捷方式格式 [Desktop Entry] Name ...

  4. Java 解析 lnk 快捷方式文件的方法(转)

    package file.extendsion; import java.io.ByteArrayOutputStream; import java.io.File; import java.io.F ...

  5. Kafka设计解析(二)- Kafka High Availability (上)

    本文转发自Jason’s Blog,原文链接 http://www.jasongj.com/2015/04/24/KafkaColumn2 摘要 Kafka在0.8以前的版本中,并不提供High Av ...

  6. Sharepoint学习笔记—习题系列--70-573习题解析 -(Q139-Q141)

    Question 139You create a SharePoint solution that contains two Features named Feature1 and Feature2. ...

  7. Sharepoint学习笔记—习题系列--70-573习题解析 -(Q136-Q138)

    Question 136You need to create a custom content type and specify the content type ID.What should you ...

  8. Sharepoint学习笔记—习题系列--70-573习题解析 -(Q133-Q135)

    Question 133You create a Web Part that updates a list.You need to ensure that users can use the Web ...

  9. sphinx 配置文件全解析

    sphinx的配置文件是在配置的时候最容易出错的了: 我们先要明白几个概念: source:数据源,数据是从什么地方来的. index:索引,当有数据源之后,从数据源处构建索引.索引实际上就是相当于一 ...

随机推荐

  1. 十分钟通过 NPM 创建一个命令行工具

    大过年的,要不要写点代码压压惊?来花十分钟学一下怎么通过 NPM 构建一个命令行工具. 写了一个小 demo,用于代替 touch 的创建文件命令 touchme ,可以创建自带“佛祖保佑”注释的文件 ...

  2. SCOI2019 退役记

    退役了.D2没有翻盘,愉快出队,文化课见. 19年4月14日:某校第一届的最后一名OIer退出竞赛. 留坑. 万一退役失败了呢

  3. 【Scala篇】--Scala中的函数

    一.前述 Scala中的函数还是比较重要的,所以本文章把Scala中可能用到的函数列举如下,并做详细说明. 二.具体函数 1.Scala函数的定义 def fun (a: Int , b: Int ) ...

  4. knockoutjs 上自己实现的flux

    在knockoutjs 上实现 Flux 单向数据流 状态机,主要解决多个组件之间对数据的耦合问题. 一.其实简单 flux的设计理念和实现方案,很大程度上人借鉴和参考了Vuex的实现,只是简化了某些 ...

  5. Entitiy Framework Core中使用ChangeTracker持久化实体修改历史

    背景介绍 在我们的日常开发中,有时候需要记录数据库表中值的变化, 这时候我们通常会使用触发器或者使用关系型数据库中临时表(Temporal Table)或数据变更捕获(Change Data Capt ...

  6. Android Studio 获取数字签名

    下面介绍下调试版本和发布版本,获取数字签名的方法,通过以下方法可以获取到SHA1和MD5 1.调试版本 在调试模式下,Android studio会默认生成一个debug.keystore签名文件,因 ...

  7. Asp.Net SignalR GlobalHost外部通知

    GlobalHost 外部通知 之前都是在集线器类中进行服务器对客户端的通知操作,但是在开发中往往会有需求监控某个系统 ,比如OA系统  上级领导在上面宣布下午两点要开会 那么就要通知到其他的人.这里 ...

  8. Config安全控制

    1.config server引入依赖 <dependency> <groupId>org.springframework.boot</groupId> <a ...

  9. docker 安装LAMP环境

    LAMP:Linux.Apache.MySQL.PHP docker hub 上会有配好的LAMP环境docker,部署到本地并运行起来 sudo docker pull linode/lamp 然后 ...

  10. 深度学习(Deep Learning)资料大全(不断更新)

    Deep Learning(深度学习)学习笔记(不断更新): Deep Learning(深度学习)学习笔记之系列(一) 深度学习(Deep Learning)资料(不断更新):新增数据集,微信公众号 ...