很多人都有使用绿色软件的习惯,在这里我简单称其为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. scala判断数据类型

    scala判断一个数据或者对象的类型只需要在该对象后面添加 .getClass.getSimpleName : scala> 222.getClass.getSimpleName res1: S ...

  2. Javascript reduce方法

    reduce方法接收一个函数作为累加器,数组中的每个值(从左至右)开始缩减,最终计算为一个值 注意:reduce()对于空数组是不会执行回调函数 语法: array.reduce(function(t ...

  3. SpringCloud(3)---Eureka服务注册与发现

    Eureka服务注册与发现 一.Eureka概述 1.Eureka特点 (1) Eureka是一个基于REST的服务,用于定位服务,以实现云端中间层服务发现和故障转移. (2) Eureka 主管服务 ...

  4. ECMAScript5.1的运算符、类型转换总结

    一.运算符优先级 从高到低 运算符 说明 () 圆括号 . [] new(带参数列表) 字段访问.数组索引.new(带参数列表) () new(无参数列表) 函数调用,无参数列表 ++(后置递增) - ...

  5. Python包的导入说明

    import 模块 from 包 import 模块 上面的代码有什么区别呢? from 模块 import * 这种导入想象与把模块里面的代码都复制到当前模块中(也就是该语句所在位置),这时候你可以 ...

  6. 【ASP.NET Core快速入门】(十一)应用Jwtbearer Authentication、生成jwt token

    准备工作 用VSCode新建webapi项目JwtAuthSample,并打开所在文件夹项目 dotnet new webapi --name JwtAuthSample 编辑JwtAuthSampl ...

  7. python学习第二讲,pythonIDE介绍以及配置使用

    目录 python学习第二讲,pythonIDE介绍以及配置使用 一丶集成开发环境IDE简介,以及配置 1.简介 2.PyCharm 介绍 3.pycharm 的安装 二丶IDE 开发Python,以 ...

  8. ES6躬行记(12)——数组

    ES6为数组添加了多个新方法,既对它的功能进行了强化,也消除了容易产生歧义的语法. 一.静态方法 1)of() ES6为Array对象新增的第一个静态方法是of(),用于创建数组,它能接收任意个参数, ...

  9. 手把手教您将 libreoffice 移植到函数计算平台

    LibreOffice 是由文档基金会开发的自由及开放源代码的办公室套件.LibreOffice 套件包含文字处理器.电子表格.演示文稿程序.矢量图形编辑器和图表工具.数据库管理程序及创建和编辑数学公 ...

  10. 想晋级高级工程师只知道表面是不够的!Git内部原理介绍

    本文由云+社区发表 作者:腾讯工蜂用户:王二卫 从不一样的视角了解git,以便更好的使用git 一.git & git 版本库认识 git 是一个内容寻址的文件系统,其核心部分是一个简单的键值 ...