有没有办法用新的 Windows 终端替换 cmd 窗口?

有没有办法用新的 Windows 终端替换 cmd 窗口?

现在我们有了新的 Windows终端,我再也不想cmd.exe在我的开发机器上看到这个窗口了——有什么办法可以让它在整个操作系统中取代它,就像在 ConEmu 和 Cmder 中一样?

更新:我理解它cmd.exe永远不会消失,我也不是在问如何cmd.exe从 Windows 中删除,我想知道是否有办法将所有输入/输出重定向到cmd.exeWindows 终端,以便当我双击批处理文件或 PowerShell 脚本时,它的输出将在 Windows 终端的新选项卡中打开(如果我理解正确的话,这也是 ConEmu 和 Cmder 所做的)。

答案1

在 Windows 11 中,您可以选择默认终端应用程序来托管命令行应用程序的用户界面。

  1. windows key按+打开设置i
  2. 点击隐私与安全
  3. 点击对于开发人员
  4. 向下滚动直到看到终端
  5. 从下拉菜单中选择Windows 终端赞成Windows 控制台主机

即使你cmd将来运行这样的命令,它也会调出 Windows 终端。

也许这对将来的某些人有帮助。

答案2

cmd.exe没有窗口。cmd.exe只是一个控制台应用程序。您启动时通常看到的窗口cmd.exe与 无关cmd.exe,因为它是由 Windows 内核的一部分绘制的控制台窗口conhost.exe。您可以cmd.exe随意替换它,它仍然不会改变控制台窗口。每当系统启动任何控制台进程时,内核都会自动分配控制台窗口。

您唯一的选择是使用ConEmu,它会拦截conhost.exe并自动隐藏分配的控制台。

答案3

您可能想要的是替换 conhost.exe,它是 Windows 系统中任何控制台的主机窗口。

这非常简单,只需按照以下说明操作即可:

https://github.com/microsoft/terminal/issues/1817

答案4

通过以下步骤(提升运行权限),您可以更改.bat文件的启动方式:

ftype batfile=%LOCALAPPDATA%\Microsoft\WindowsApps\wt.exe "%1 %2 %3 %4 %5 %6 %7 %8 %9" 
  • 这不会改变工作路径,因此它不是一个完整的替代 - 如果您想访问同一文件夹中的文件,则需要通过将其添加到批处理文件中来更改为包含批处理文件的目录:
    cd /d "%~dp0"
    

恢复方法:

ftype batfile="%1" %*

wt.exe 帮助的屏幕截图

相关内容