我的目标是在PATH中添加一些可执行文件(例如chrome),以便我可以调用
> chrome
从命令提示符启动Chrome。
我知道我可以将Chrome包含的目录添加到我的路径(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"
成功创建了文件的符号链接(在输出中说明,并在使用> dir
进行检查时)。我知道我的PATH设置正确,b / c当我运行> where chrome
时,它找到了我的新符号链接。
然而,当我尝试使用我的新链接执行chrome时,没有任何反应。应该会出现一个新的空窗口,但没有任何反应。命令提示符中没有任何错误消息。
我做错了什么?我是否误解了Windows中的符号链接?这是我一直在Linux中使用的方法,但我是Windows Cmd的新手。
谢谢!
答案 0 :(得分:7)
大多数程序不会从安装位置以外的地方运行 - 这正是您尝试从符号链接运行时所发生的情况。
在该文件夹中创建具有匹配名称的CMD / BAT文件会更容易,这些文件将从您想要的位置启动程序:
REM chrome.cmd
start /b cmd /c "C:\Program Files (x86)\Google\Chrome\Application\chrome.exe" %*
答案 1 :(得分:5)
使用Windows 7,我确认符号链接不起作用,如原始问题中所报告的那样被忽略。
正如Harry在他的评论中指出的那样,快捷执行工作,对我来说,比为CMD下要启用的每个新命令编写单独的脚本更简单,更容易。
他声明您需要将.lnk添加到PATHEXT变量才能执行此操作。我确认这确实有效,并且.lnk添加到PATHEXT我只需输入快捷方式的名称部分即可运行命令。例如,如果我的快捷方式命名为&#34; sublime.lnk&#34;和PATHEXT包括.lnk,我可以用简单的命令&#34; sublime&#34;来执行链接。尼斯!
作为替代方案,我发现如果我只是在我的CMD提示符下输入快捷方式的全名,包括.lnk,则无需修改PATHEXT。例如,我创建了一个名为&#34; sublime.lnk&#34;的快捷方式。在%HOMEPATH%/ bin下,指向&#34; C:\ Program Files \ Sublime Text 2 \ sublime_text.exe&#34;。
现在将%HOMEPATH%\ bin放在我的%PATH%中,我可以通过命令&#34; sublime.lnk&#34;升华。
上述任何一种方法都是我所知道的最好的方式,可以访问来自Windows的各种命令。来自CMD提示的文件系统。我不是Windows专家,欢迎更好或更标准化的解决方案。
P.S。:我刚刚发现了你需要确保&#34;开始于:&#34;您以这种方式使用的任何快捷方式的属性都将被删除,或者您的程序将不会从您调用快捷方式的目录中启动。
P.P.S。:在相关的说明中,我发现了如何在您的CMD会话登录到的目录上运行Windows资源管理器(或其替代品):start .
。