Я добавил 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 не очень полезен в этом случае.