很多人都有使用绿色软件的习惯,在这里我简单称其为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. BBS论坛(十二)

    12.1.图形验证码生成 (1)utils/captcha/init.py import random import string # Image:一个画布 # ImageDraw:一个画笔 # Im ...

  2. Vue生命周期详解

    Vue所有的生命周期钩子自动绑定在this上下文到实例中,因此你可以访问数据,对属性和方法进行运算.这意味着你不能使用箭头函数来定义一个生命周期方法.这是因为箭头函数绑定了父上下文,因此this与你期 ...

  3. 懵逼的this指向

    请看以下代码: 以上的console.log打印出来的,如果你能完全知道,请忽略,如果你不知道,那就接下来看吧. console.log打印的结果: Google非常智能地把对象给打印出来了,看结果, ...

  4. asp.net core 系列 5 MVC框架路由(上)

    一. 概述 介绍asp.net core路由时,我初步想了下,分几篇来说明.  路由的知识点很多,参考了官方文档提取出一些重要的知识点来说.    在ASP.NET Core中是使用路由中间件来匹配传 ...

  5. C++版 - Lintcode 77-Longest Common Subsequence最长公共子序列(LCS) - 题解

    版权声明:本文为博主Bravo Yeung(知乎UserName同名)的原创文章,欲转载请先私信获博主允许,转载时请附上网址 http://blog.csdn.net/lzuacm. C++版 - L ...

  6. python scrapy 入门,10分钟完成一个爬虫

    在TensorFlow热起来之前,很多人学习python的原因是因为想写爬虫.的确,有着丰富第三方库的python很适合干这种工作. Scrapy是一个易学易用的爬虫框架,尽管因为互联网多变的复杂性仍 ...

  7. Asp.Net SignalR Hub集线器

    集线器Hub类 使用持久连接类去开发是有些困难的,因为基于事件的开发方式,我们可以进行操作的地方也仅仅只是OnReceived事件内,这有些像websocket的方式.我们迫切的需要一种更人性化,更为 ...

  8. 如何把你的.net程序打包上传到nuget

    写在前面 每个.net开发者都经常用nuget管理自己的程序包,install一个json组件啊,一个工具类什么的,这些都是别人写好的.如果我也写好了一个自己感觉很拿的出手的组件,想轻松的使用nuge ...

  9. 【c#】RabbitMQ学习文档(四)Routing(路由)

    (使用Net客户端) 在上一个教程中,我们构建了一个简单的日志系统,我们能够向许多消息接受者广播发送日志消息. 在本教程中,我们将为其添加一项功能 ,这个功能是我们将只订阅消息的一个子集成为可能. 例 ...

  10. 用TensorFlow教你手写字识别

    博主原文链接:用TensorFlow教你做手写字识别(准确率94.09%) 如需转载,请备注出处及链接,谢谢. 2012 年,Alex Krizhevsky, Geoff Hinton, and Il ...