在 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 中启动一下吧。