6

Я пытаюсь заставить PS открываться вместо cmd.exe, когда я Shift+left-click и выбираю open command window here Я изменил системную переменную% ComSpec% и даже добавил ее в свою пользовательскую переменную, указывая на PS путь, но без результата, cmd.exe все еще открывается.

Должно быть, я что-то делаю не так, может кто-нибудь мне помочь

2 ответа2

4

Внутри реестра вы можете перенаправить cmd.exe в Powershell.

Запустите regedit.exe , перейдите в HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options и создайте ключ cmd.exe . Теперь создайте строку (REG_SZ) с именем Debugger и введите полный путь к Powershell.exe.

При попытке запустить cmd.exe вместо этого запускается Powershell.

2

Изменение следующих трех значений сделало это для меня как минимум в Win7. Не могу подтвердить для Win8 прямо сейчас, но расположение реестра должно быть таким же (очевидно, измените путь к PowerShell.exe, если он отличается в вашей системе).

1.

Windows Registry Editor Version 5.00

[HKEY_CLASSES_ROOT\Drive\shell\cmd\command]
@="C:\\Windows\\System32\\WindowsPowerShell\\v1.0\\PowerShell.exe -NoExit -Command \"cd '%v'\""

2.

Windows Registry Editor Version 5.00

[HKEY_CLASSES_ROOT\Directory\shell\cmd\command]
@="C:\\Windows\\System32\\WindowsPowerShell\\v1.0\\PowerShell.exe -NoExit -Command \"cd '%v'\""

3.

Windows Registry Editor Version 5.00

[HKEY_CLASSES_ROOT\Directory\Background\shell\cmd\command]
@="C:\\Windows\\System32\\WindowsPowerShell\\v1.0\\PowerShell.exe -NoExit -Command \"cd '%v'\""

Примечание 1: Вы можете использовать %SystemRoot% вместо C:\\Windows если вы измените тип данных cmd\command\(Default) с REG_SZ по умолчанию на REG_EXPAND_SZ.

Примечание 2: Команда cd не выполняется, если имя текущего рабочего каталога содержит одинарную кавычку. Я спросил об этом здесь: Открытие PowerShell в текущем рабочем каталоге из реестра.


Другим вариантом было бы добавить новую команду Open PowerShell Here в контекстное меню вместо замены cmd.

Кроме того, в Win8 вы сможете быстро открыть PowerShell с помощью Alt+F, R:

1

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