如何在WinXP cmd shell中加载ANSI转义码或获取带颜色的文件列表?

11

这与this问题有关:如何在Windows cmd shell中获得彩色文件列表?

我正在尝试在Windows cmd shell中获得彩色文件列表。如果有影响的话,我的Windows版本是XP SP2。
在旧的DOS时代,曾经有像hdir、adir等小程序可以显示漂亮的彩色文件列表。但现在,这样的程序已经不再存在。

然而,有一个叫做ls的程序,来自unixkit-tiny或unixtools。不幸的是,它使用ANSI转义码来显示颜色,而cmd并不能很好地处理这些转义码。

有几种解决方案,包括加载ansi.sys和command.com,但command.com不能很好地处理长文件名,并且速度非常慢。即使这样,有时也会出现显示颜色的问题。

所以我的问题是,除了使用cygwin外,有没有一种在Windows cmd shell中获取带颜色的文件列表的方法?或者有没有一种方法可以让ANSI转义代码以一种方式与cmd.exe配合使用,使原生的ls能够正常运行?

4个回答

16

  • A奖当之无愧地颁给了... :)
- Rook
这个很好用 - 我已经尝试过在Ruby的'irb'中使用'wirble'了:http://www.rubyinside.com/wirble-tab-completion-and-syntax-coloring-for-irb-336.html#respond - monojohnny
2
警告:当作为CMD自启动条目安装时,ansicon可能会以意想不到的方式破坏事物!我浪费了数小时来追踪GUI应用程序(Eclipse)的冻结,并发现ascicon是罪魁祸首。显然,它会重新启动cmd.exe,这对某些应用程序并不好。否则,如果手动启动,则可以很好地完成其工作。问题似乎与ansicon无关-我将'doskey'作为自动启动cmd条目,并且它也会创建问题,特别是在启动外部控制台实用程序的gui应用程序中,无论是否创建控制台。 - ccpizza
2
太棒了!运行“ansicon -i”以安装到Win7的注册表中...现在我有美丽的颜色了! - JoshuaDavid

4

实际上,我认为ansicon做得非常好 -- 使用

  • ansicon.exe -I

将其安装为过滤器在CMD.exe会话中。与HTTY(ruby gem)完美配合。

:-)


2
您可以启动内置的Telnet服务器,将其防火墙设置为仅允许localhost访问,并使用了解此类转义字符的Telnet客户端 - 即使是本地客户端。(我知道,这是一种丑陋的方法。)

1

试过了,不行。对他的例子有效,但对ls或其他任何东西都无效。 - Rook

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接