是否可以在Windows中作为pipe理员运行一个相对path的快捷方式?

要使用相对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]" 

这首先改变相对路径,然后启动应用程序。 &&是命令分隔符。

另外,我不得不把“开始”留空。

注意 :我没有完全做到这一点,我的应用程序将启动,但崩溃。 所以我可能还会错过一些东西。

资源