Добавил несколько консольных программ в System PATH, не могу вызвать их через реестр

Добавил несколько консольных программ в System PATH, не могу вызвать их через реестр
Добавил несколько консольных программ в System PATH, не могу вызвать их через реестр

Я добавил C:\Tools\scripts\PATH в свой System PATH. Он содержит несколько различных консольных приложений, которые я часто использую.

Когда я запускаю их из командной строки, все в порядке. В качестве примера:

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

Работает совершенно нормально. (RunHiddenConsole является одним из инструментов в C:\Tools\scripts\PATH)

Проблема в том, что это, похоже, не работает должным образом в реестре. (Я часто редактирую свои контекстные меню для повышения производительности).

Вот команда:

Затем я вызываю команду:

И вместо того, чтобы запустить скрипт... я получаю вот это:

Я получаю то же самое, даже если полностью удаляю скрипт из командного ключа и оставляю его как просто "RunHiddenConsole".

Если я ввожу весь путь к исполняемому файлу, он работает. Но это полностью уничтожает цель добавления его в PATH в первую очередь.

Есть ли у кого-нибудь из вас идеи, что происходит? Я действительно не могу разобраться в этом.

Большое спасибо.

Команда реестра не запускается через CMD и поэтому не имеет многих возможностей, и особенно переменных окружения, которые CMD создает из реестра, и, прежде всего, переменной PATH.

Вы можете заменить команду реестра by cmd /c RunHiddenConsole..., но это в некотором роде уничтожит цель использования RunHiddenConsole.

Другой возможностью является копирование RunHiddenConsole to C:\Windows\System32, которая всегда ищется, хотя изменение этой очень важной папки Windows не следует делать без крайней необходимости.

Лучшим решением будет указать полный путь к программе RunHiddenConsole, так как PATH не очень полезен в этом случае.


NevaDev, 7 февраля 2023 г., 07:01