着色 Windows XP cmd.exe

whn*_*whn 6 windows command-line

我喜欢 Linux 控制台,但由于许多原因必须在 Windows XP 下工作。所以现在我决定让它看起来更好,但找不到任何关于它的文档/帖子。有可能吗?

efo*_*nis 9

您不能这样做,因为 Windows 控制台的工作方式与 Linux 终端有着根本的不同。在 Linux 上,着色是使用ANSI 转义序列完成的。来自维基百科:

ANSI 转义序列是嵌入在文本中的字符,用于控制视频文本终端上的格式、颜色和其他输出选项。几乎所有旨在显示来自远程计算机的文本输出和(Windows 除外)显示来自本地软件的文本输出的终端仿真器都至少解释了一些 ANSI 转义序列。

这几乎意味着用户可以通过简单地使用包含 ANSI 转义符的字符串来控制着色(和一般的格式设置),即使原始程序没有规定。

在 Windows 上,控制台格式化必须由程序明确完成。每个字符单元由两个 16 位代码组成:一个 Unicode 字符和一个样式字(主要是颜色信息)。程序必须使用低级 API 输出函数来设置样式信息,否则所有字符都使用默认样式(黑底灰字)。

我猜这个故事的寓意是 Windows 和 Linux 是两个完全不同的操作系统。因此,最好习惯于他们的特质,而不是努力使任何一方适应另一方的心态。疯狂就是这样说的。

  • 有一种方法可以让 ANSI 转义序列在 Windows 命令提示符下工作:免费软件 [ANSICON](http://adoxa.110mb.com/ansicon/index.html) (2认同)