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命令打开即可,不过并不推荐这样做,具体原因不做陈述。一个小问题我已经阐述了半天了。注:之所以写的那么多是因为介绍原理,方便不了解的同学学习参考,不是为大神和拿来主义的同学准备的,就到这里了,其他系统下的方式类似,感兴趣的自己写吧。
U盘中的快捷方式解析的更多相关文章
- VC++实现解析快捷方式
VC++实现解析快捷方式: http://blog.csdn.net/mydreamremindme/article/details/9826745
- U盘中病毒无法更改U盘隐藏属性,文件变成快捷方式
问题:U盘中病毒了文件都变成快捷方式了,文件被隐藏:隐藏属性无法修改 解决方法: 1.首先给U盘杀毒[如360杀毒] 2.修改U盘隐藏属性:如下图 经过此步骤被隐藏的文件可以被显示出来了.但是U盘里的 ...
- Ubuntu启动器快捷方式文件解析
快捷方式名称 app_name.desktop 路径: /usr/share/applications/app_name.desktop # 简洁快捷方式格式 [Desktop Entry] Name ...
- Java 解析 lnk 快捷方式文件的方法(转)
package file.extendsion; import java.io.ByteArrayOutputStream; import java.io.File; import java.io.F ...
- Kafka设计解析(二)- Kafka High Availability (上)
本文转发自Jason’s Blog,原文链接 http://www.jasongj.com/2015/04/24/KafkaColumn2 摘要 Kafka在0.8以前的版本中,并不提供High Av ...
- Sharepoint学习笔记—习题系列--70-573习题解析 -(Q139-Q141)
Question 139You create a SharePoint solution that contains two Features named Feature1 and Feature2. ...
- Sharepoint学习笔记—习题系列--70-573习题解析 -(Q136-Q138)
Question 136You need to create a custom content type and specify the content type ID.What should you ...
- 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 ...
- sphinx 配置文件全解析
sphinx的配置文件是在配置的时候最容易出错的了: 我们先要明白几个概念: source:数据源,数据是从什么地方来的. index:索引,当有数据源之后,从数据源处构建索引.索引实际上就是相当于一 ...
随机推荐
- 【转】kali配置--修改IP和DNS
修改IP地址 1 编辑文件 nano /etc/network/interfaces 2 在选择静态IP或DHCP,编辑文件内容并保存退出 (1)静态IP: ``` #Loop回环地址 auto lo ...
- Ocelot监控
网关的作用之一,就是有统一的数据出入口,基于这个功能,我们可以在网关上配置监控,从而把所有web服务的请求应答基本数据捕获并展显出来.关于web的监控,一般的做法是采集数据并保存,然后通过图表的方式展 ...
- 一篇文章带你学会Linux三剑客之一:awk
awk是一种用于处理文本.模式匹配的编程语言.与sed和grep,俗称Linux下的三剑客.学会 awk 等于你在 Linux 命令行里,又多了一种处理文本的选择.这篇文章重点教你如何使用,看完这篇文 ...
- leetcode — binary-tree-level-order-traversal
import org.lep.leetcode.binarytreeinordertraversal.BinaryTreeInOrderTraversal; import java.util.Arra ...
- JavaScript与WebAssembly进行比较
本文由云+社区发表 作者:QQ音乐前端团队 在识别和描述核心元素的过程中,我们分享了构建SessionStack时使用的一些经验法则,这是一个轻量级但健壮且高性能的JavaScript应用程序,以帮助 ...
- REST API设计指导——译自Microsoft REST API Guidelines(一)
前言 前面我们说了,有章可循,有据可依,有正确的产品流程和规范,我们的工作才不至于产生混乱,团队的工作才能更有成效.我们经常见到,程序开发可能只用了半个月,但是接口的联调却经常需要花费半个月甚至一个月 ...
- 产品炼成记·hostingranking.cn·基于ghost的轻量技术架构整理
本篇纯粹只讲hostingranking.cn网站的技术架构,也就是怎么做到的,达到什么效果.至于它是什么,为什么要做暂且不说,另篇会分享. 技术组成 首先hostingranking.cn是基于gh ...
- Flask入门之完整项目搭建
一.创建虚拟环境 1,新建虚拟环境 cmd中输入:mkvirtualenv 环境名 2,在虚拟环境安装项目运行所需要的基本模块 pip install flask==0.12.4 pip instal ...
- Valgrind简介
Valgrind是一款用于内存调试.内存泄漏检测以及性能分析的软件开发工具.
- .NET: 使用.NET Core CLI开发应用程序
要开发.NET Core应用程序,除了使用强大的Visual Studio之外,还可以使用.NET Core CLI..NET Core CLI (Command-Line Interface),也就 ...