Windows CMD:如何创build可执行文件的符号链接?

我的目标是添加一些可执行文件到我的path(例如,铬),以便我可以打电话

> chrome 

从命令提示符,它将启动Chrome。

我知道我可以添加Chrome的包含目录到我的path( set PATH=%PATH%<chrome_path_here>; ),但由于我有一些可执行文件,我想添加一个新的bin目录,其中包含符号链接实际的可执行文件,只需将该单个目录添加到我的PATH。

Chrome可执行文件位于

 C:\Program Files (x86)\Google\Chrome\Application\chrome.exe 

所以我试了

 > mklink chrome.exe "C:\Program Files (x86)\Google\Chrome\Application\chrome.exe" 

这成功地为文件创build了一个符号链接(在输出中是如此,并且在检查> dir )。 我知道我的PATH设置正确,B / C当我运行> where chromefind我的新的符号链接。

但是,当我尝试用我的新链接执行chrome时,没有任何反应。 应该出现一个新的空窗口,但没有任何反应。 命令提示符中没有错误消息或任何内容。

我究竟做错了什么? 我误解Windows中的符号链接? 这是我一直使用Linux的方法,但我是Windows Cmd的新手。

谢谢!

Solutions Collecting From Web of "Windows CMD:如何创build可执行文件的符号链接?"

大多数程序不会从安装位置以外的位置运行 – 这正是您尝试从符号链接运行时发生的情况。

在该文件夹中创建具有匹配名称的CMD / BAT文件要容易得多,该名称将从您想要的位置启动程序:

 REM chrome.cmd start /b cmd /c "C:\Program Files (x86)\Google\Chrome\Application\chrome.exe" %* 

在Windows 7中,我确认符号链接不起作用 ,根据原始问题中的报告简单地忽略。

正如Harry在评论中所说的那样,快捷方式确实有效,对于我想在CMD下启用的每个新命令编写一个单独的脚本来说,更简单也更简单。

他指出,你需要添加.lnk到你的PATHEXT变量才能做到这一点。 我确认这是行不通的,而且.lnk添加到PATHEXT中,我可以简单地输入快捷方式的名字部分来运行命令。 例如,如果我的快捷方式被命名为“sublime.lnk”并且PATHEXT包含.lnk,我可以用简单的命令“sublime”执行链接。 太好了!

作为替代,我发现PATHEXT不需要修改,只要在我的CMD提示符下键入快捷方式的全名,包括.lnk即可。 例如,我在%HOMEPATH%/ bin下创建了一个名为“sublime.lnk”的快捷方式,指向“C:\ Program Files \ Sublime Text 2 \ sublime_text.exe”。

现在把%HOMEPATH%\ bin放入我的%PATH%,然后通过命令“sublime.lnk”升级。

上述任何一种方法都是我知道通过CMD提示从Windows文件系统访问各种命令的最佳方法。 我不是一个Windows专家,并欢迎一个更好或更标准化的解决方案来解决这个问题。


PS:我刚刚发现,你需要确保以这种方式使用的任何快捷方式的“Start in:”属性被消隐,或者你的程序不会从你调用快捷方式的目录中开始。


PPS:在相关说明中,我发现如何在您的CMD会话登录到的目录上运行Windows资源管理器(或其替代): start .