如何将 PowerShell 设置为默认值而不是 cmd.exe

如何将 PowerShell 设置为默认值而不是 cmd.exe

Shift+left-click当我执行并选择时,我试图让 PS 打开而不是 cmd.exe,open command window here 我更改了 %ComSpec% 系统变量,甚至在指向 PS 路径的用户变量中添加了它,但没有结果,cmd.exe 仍然打开。

我肯定做错了什么,有人可以帮帮我吗?

答案1

在注册表中,您可以将 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 中更改以下 3 个值对我来说是有效的。目前无法确认 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_SZREG_EXPAND_SZ

笔记2:光盘如果当前工作目录的名称包含单引号,则命令失败。我在这里问过这个问题:从注册表中在当前工作目录中打开 PowerShell


另一个选择是添加一个新的在此处打开 PowerShell命令到上下文菜单而不是替换 cmd。

另外,在 Win8 中您应该能够使用Alt+ F,快速打开 PowerShell R

1

相关内容