在 Windows 11 中打开原命令行窗口

相信很多读者都已经用上了 windows 11 自带的 terminal 命令行程序,我也很喜欢,但是由于一些旧程序的兼容问题,我需要使用旧的 命令行窗口

起因

在 win11 下使用 DOSBox debugger 的时候,我注意到这样一个问题:

debugger ui on terminal

排版完全错乱了,正常的排版我放在文末了,可以比较一下,而且按 F5 也不能让程序继续,印象中在升级到 win11 之前是没有这个问 题的,所以肯定是 terminal 的问题喽,所以我们需要打开原版的命令行。

问题

虽然问题确定了,但是解决完全不是那么简单,如果去搜索 win11 下打开「Command Prompt」,可能有很多「十种打开命令行方法」的 文章,可是这些方法无一例外地不能避免我们的问题,无论是直接打开 cmd.exe,或是运行窗口输入 cmd.exe,terminal 都会聪明地跑 出来,你是不是在找我呀?

launch cmd on win11

感觉都有点恐怖,terminal 接管了所有地方,甚至 VS 专用的命令行

VS command prompt on win11

解决

解决这个问题,有一个简单粗暴的办法——卸载 terminal

uninstall terminal

卸完以后你会发现,整个世界恢复了重来的样子。

如果只是这样写,估计读者会非常生气,不过最初确实我就是这样做的,不过别担心,后来我发现其实可以不删除 terminal 的。

做法也很简单,我们只要打开 conhost.exe 就可以了:

conhost ui

这个就比较像以前的 cmd 了,我们开一下 DOSBox debugger 试一下,不过注意,我们只能在这个命令行里面启动:

dosbox debugger on conhost

这个排版就正常了。

总结

其实 cmd 也好,powershell 也好,它们其实并不是我们看到的 UI,win11 之前,我们看到的是 conhost,而在 win11 中,我们看到的 默认是 terminal 的 UI,如果你的命令行程序也有这种排版问题,不妨试一下从 conhost 中启动一下吧。