要使用相对path创build快捷方式,请将目标设置为以下内容。
%windir%\system32\cmd.exe /c start your_relpath\app.exe [your_args]
使程序以pipe理员身份运行也很简单。
Properties > Advanced > Run as administrator
但是把两者放在一起是行不通的。 当cmd.exe
以pipe理员身份启动时,会丢失当前的工作目录并转到%windir%\system32
。 相对path从那里开始,而不是打算。
有没有办法做一个相对的快捷方式,并以pipe理员身份运行?
我没有找到一个简单的方法,但没关系。 我担心计算机之间会出现绝对路径的捷径。 我没有意识到Windows自动纠正它们。 这似乎是足够的,虽然相对路径会更优雅。
虽然快捷方式在创建时指向特定的文件或文件夹,但如果目标移动到其他位置,它们可能会中断。 Microsoft Windows具有标准的算法,用于在移动快捷方式时进行修复。 基于Windows 9x的Windows版本使用简单的搜索算法来修复损坏的快捷方式。 在基于Windows NT的操作系统和NTFS文件系统上,目标对象的唯一标识符存储在快捷方式文件中,Windows可以使用分布式链接跟踪服务来跟踪快捷方式的目标,以便快捷方式可以静默更新目标移动到另一个硬盘驱动器。[4]
http://en.wikipedia.org/wiki/File_shortcut#Microsoft_Windows
对于使用相对路径的便携式快捷方式,请使用以下命令:
只需将其放在快捷方式属性的“目标”中:
%COMSPEC% /C "start GoogleChromePortable.exe -enableextensions -incognito"
预期的行为:一个简短的CMD窗口将弹出并在chrome启动之前关闭。
注意:“开始于:”选项可以留空。 另外请注意,.exe位于与快捷方式相同的文件夹中,但移动文件夹并且快捷方式工作得很好。
这被证实在Win10 1607中工作。
信用:前一阵子在stackoverflow其他职位。
尝试:
%windir%\system32\cmd.exe /c "cd your_relpath && start \app.exe [your_args]"
这首先改变相对路径,然后启动应用程序。 &&
是命令分隔符。
另外,我不得不把“开始”留空。
注意 :我没有完全做到这一点,我的应用程序将启动,但崩溃。 所以我可能还会错过一些东西。
资源