将一些控制台程序添加到系统路径,无法通过注册表调用它们

将一些控制台程序添加到系统路径,无法通过注册表调用它们

我将其添加C:\Tools\scripts\PATH到我的系统 PATH 中。它包含一些我经常使用的控制台应用程序。

当我从命令行运行它们时,一切都很好。例如:

RunHiddenConsole powershell.exe -file "C:\Tools\scripts\CopyDirStructure.ps1" "C:\Tools\speccy"

运行完全正常。(RunHiddenConsole 是其中的一个工具C:\Tools\scripts\PATH

问题是这在注册表中似乎无法正常工作。(我经常编辑上下文菜单以提高工作效率。)

命令如下:

註冊

然后我调用命令:

上下文菜单

脚本并没有运行,我只得到了这个:

通用对话

即使我从命令键中完全删除脚本并将其保留为“RunHiddenConsole”,我也会得到同样的结果。

如果我输入完整的可执行文件路径,它就可以工作。但这完全违背了将其添加到 PATH 的初衷。

你们有人知道发生了什么吗?我真的搞不懂。

非常感谢。

答案1

注册表命令不通过 CMD 运行,因此缺少许多功能,尤其是 CMD 从注册表创建的环境变量,最重要的是 PATH 变量。

您可以用 替换注册表命令 cmd /c RunHiddenConsole...,但是这样会违背使用 RunHiddenConsole 的目的。

另一种可能性是将 RunHiddenConsole 复制到 C:\Windows\System32,该文件夹始终被搜索,尽管除非绝对必要,否则不应修改这个非常重要的 Windows 文件夹。

最好的解决方案实际上是指定 RunHiddenConsole 程序的完整路径,因为在这种情况下 PATH 不是很有用。

相关内容