9

Я хотел бы, чтобы по умолчанию PowerShell запускался вместо Command, например, при запуске командного файла, или когда я "открывал окно командной строки здесь" и т.д.

Какие-либо предложения?

2 ответа2

9

Я только что провел очень быстрый тест, и следующая запись реестра добавит элемент "PowerShell here" в контекстное меню всех папок в проводнике:

Windows Registry Editor Version 5.00

[HKEY_CLASSES_ROOT\Directory\shell\PowerShellHere]
@="&PowerShell here"

[HKEY_CLASSES_ROOT\Directory\shell\PowerShellHere\command]
@="cmd.exe /c start \"PS\" powershell.exe -NoExit -Command \"cd \\\"%1\\\"\""

Просто импортируйте его в реестр. Я использую cmd.exe для начальной загрузки PowerShell, чтобы избежать жесткого кодирования пути.

Относительно cmd скриптов / пакетных файлов. Я думаю, что нет смысла запускать CMD-скрипты в PowerShell по умолчанию. Но это также возможно, изменив ключ реестра HKCR\cmdfile\shell\open

0

Вы не собираетесь слишком далеко продвигаться с запуском командных файлов CMD в PowerShell.

Вы можете попробовать изменить переменную %COMSPEC% чтобы она указала на powershell.exe используя setx , но я не думаю, что вам понадобится много времени, чтобы осознать, что это действительно плохая идея, и снова изменить ее.

сохраните файл как * .ps1 вместо * .bat, и он будет использовать powershell

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .