在 Windows 中,如果您想从命令行运行任何第三方程序,您要么必须使用它的完整路径,要么手动将其包含目录添加到PATH
。这真的很烦人。
是否有一个实用程序可以扫描“开始”菜单中的所有条目,并为某个目录下的每个可执行文件创建一个符号链接,这样我只需要将这个目录添加到其中吗PATH
?
答案1
我已经使用 Python 脚本实现了此功能。
但要做到这一点却出奇的困难:
快捷方式在 shell 中有效(
Run Dialog
,双击文件等),但在 中无效Cmd
。符号链接在 中可以工作
Cmd
,但在 shell 中则不行。硬链接在两者中都有效,但不能跨越分区边界。
我最终使用了快捷方式。在命令行上我必须输入program.lnk
才能使其工作,这是在 Windows 7 上,在 XP 上不起作用。
答案2
首先,我不知道有什么实用程序可以自动执行这个过程。
同样,您自己的答案只需要在一个特殊目录中创建链接并将其包含在内PATH
。但要真正让它在命令行、运行对话框和双击中工作,您需要使用批处理脚本:
启动文件 D:\Inkscape\inkscape.exe
@"D:\Inkscape\inkscape.exe" %*
将其保存在此特殊目录中命名的文件中inkscape.cmd
。然后可以从命令行或运行对话框中访问 inkscpae。所有参数都通过管道传输到原始文件。
这对于 CLI 程序来说效果最好(是的,inkscape 有一个 CLI),因为 cmd.exe 进程开始启动 wantet 程序,并且直到启动的程序终止后才会退出。对于 GUI 程序,最好使用:
@START“D:\Inkscape\inkscape.exe”%*
然后,cmd.exe 进程在启动程序后退出。所有参数也都通过管道传输。
我使用它在闪存驱动器上安装 LaTeX,并在 Windows (7/64;xp/32) 中执行一些简单的 unix 命令。而且效果很好。