用于为“开始”菜单中的所有可执行文件创建符号链接的实用程序?

用于为“开始”菜单中的所有可执行文件创建符号链接的实用程序?

在 Windows 中,如果您想从命令行运行任何第三方程序,您要么必须使用它的完整路径,要么手动将其包含目录添加到PATH。这真的很烦人。

是否有一个实用程序可以扫描“开始”菜单中的所有条目,并为某个目录下的每个可执行文件创建一个符号链接,这样我只需要将这个目录添加到其中吗PATH

答案1

我已经使用 Python 脚本实现了此功能。

但要做到这一点却出奇的困难:

  1. 快捷方式在 shell 中有效(Run Dialog,双击文件等),但在 中无效Cmd

  2. 符号链接在 中可以工作Cmd,但在 shell 中则不行。

  3. 硬链接在两者中都有效,但不能跨越分区边界。

我最终使用了快捷方式。在命令行上我必须输入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 命令。而且效果很好。

相关内容