更改 Windows 中的默认命令行 shell

更改 Windows 中的默认命令行 shell

假设我(或任何正在运行的进程)想要在 Windows (7) 中启动 shell 并发出命令,则有多种可用选项。例如,可以:

  1. 打开开始菜单,输入cmd,然后点击Enter
  2. 通过快捷方式启动命令提示符;
  3. 在第三方工具(如 Launchy)中调出命令提示符,或者;
  4. 在 Windows 中发出一些命令跑步工具 ( Win+ R),启动提示符,发出命令,然后返回

所有上述方法都会(默认)启动cmd.exe(通常位于Windows\System32目录中)。

最近我开始喜欢使用其他命令行 shell,比如微软自己的 PowerShell。然而,使用这些工具最让我沮丧的是,默认情况下,我似乎必须特意通过它们启动命令。

有什么办法可以cmd.exe用另一个 shell替换默认运行行为比如 PowerShell 或 Cygwin?不仅我从开始菜单或启动器发出的命令会在该 shell 中运行,而且如果其他应用程序想要打开 shell,它也会在所述默认 shell 中打开。

要明确的是,如果有某种干净的方法来解决这个问题(即某个地方的注册表设置或配置选项,而不是简单地替换可执行文件),那就太好了。

答案1

.1. 打开开始菜单,输入cmd,然后点击Enter

改为输入powershell

.2. 通过快捷方式启动命令提示符;

更改快捷方式的目标。

.3. 在第三方工具(如 Launchy)中调出命令提示符,或者;

我记得,Launchy 只是使用了“开始”菜单中的快捷方式。其他一些工具是硬编码运行的cmd.exe

.4. 在 Windows 的运行工具 (Win+R) 中输入一些命令,它将启动提示符,发出命令,然后返回

“跑步”才不是打开 shell,cmd或者任何其他 shell,除非你通过键入其名称明确要求。它会直接运行给定的程序(据我所知,通过使用ShellExcuteEx())。

黑色窗口是Windows 控制台。 它才不是意味着里面有cmd.exe跑动;它可能有任何控制台程序。(与 Unix 终端完全相同;它们可以运行任何程序,不一定是 shell。)


尽管如此,一些项目可能仍然尊重%COMSPEC%环境变量

相关内容