标题: [文本处理] ansicon 让命令行支持彩显等功能 [打印本页]
作者: CrLf 时间: 2015-10-31 14:46 标题: ansicon 让命令行支持彩显等功能
本帖最后由 CrLf 于 2015-10-31 16:06 编辑
32位或64位环境也都能支持 ansi 代码了
ansi 代码相关知识参考:http://baike.baidu.com/link?url= ... x5mSDdKlOGwIvWnHHrq
其中包含窗口、光标、前景背景色等功能
ANSICON by Jason Hood <jadoxa@yahoo.com.au>.
Version 1.66 (21 September, 2013). Freeware.
http://ansicon.adoxa.vze.com/
Process ANSI escape sequences in Windows console programs.
ansicon [-l<level>] [-i] [-I] [-u] [-U] [-m[<attr>]] [-p]
[-e|E string | -t|T [file(s)] | program [args]]
-l set the logging level (1=process, 2=module, 3=function,
+4=output, +8=append) for program (-p is unaffected)
-i install - add ANSICON to the AutoRun entry (also implies -p)
-u uninstall - remove ANSICON from the AutoRun entry
-I -U use local machine instead of current user
-m use grey on black ("monochrome") or <attr> as default color
-p hook into the parent process
-e echo string
-E echo string, don't append newline
-t display files ("-" for stdin), combined as a single stream
-T display files, name first, blank line before and after
program run the specified program
nothing run a new command processor, or display stdin if redirected
<attr> is one or two hexadecimal digits; please use "COLOR /?" for details.
It may start with '-' to reverse foreground and background (but not for -p).
简单说常用的用法有:- dir | grep --color=always -P \S+\.txt | ansicon
- ::从管道或重定向获取输入,并转义其中的 ansi 代码,此例为彩色显示
- ::该用法对中文的兼容性最好
复制代码
- dir | ansicon grep --color=always -P \S+\.txt
- ::和上一个例子效果基本一样的,但对中文的兼容性不佳
复制代码
- ansicon -i
- ::安装 ansicon,以后运行 cmd 时自动加载 ansicon
- ::还有个对应的 -u 开关可以反安装
复制代码
- ansicon -p
- ::注入到父进程中,使父进程支持 ansi 代码
复制代码
实测 -e 选项似乎有 bug,不建议使用该开关
如果没有用到注入功能,可以不需要 ansi.dll
作者: CrLf 时间: 2015-10-31 15:00
中文兼容性的问题已向作者反馈,但 xxxx | ansicon 的时候是没问题的,目前建议先使用这个写法
作者: tmplinshi 时间: 2015-10-31 15:31
> grep --color=always \S+\.txt
grep: (standard input): Not enough space
这是为什么?grep 从这个地址下载的 http://batch-cn.qiniudn.com/tool/2.21/grep.exe
WIN7 X64 系统
作者: CrLf 时间: 2015-10-31 15:49
本帖最后由 CrLf 于 2015-10-31 15:54 编辑
回复 3# tmplinshi
未指定 stdin 输入,突然发现例子写错了,应该是- dir | grep --color=always -P \S+\.txt | more
复制代码
作者: 依山居 时间: 2015-10-31 21:59
回复 4# CrLf
gt 下载不了,这打包规则不合理。
作者: CrLf 时间: 2015-10-31 22:35
回复 5# 依山居
因为 Batch-CN 在下载多版本的工具时需要注明版本号和后缀名:复制代码
期待新版会有所改进
作者: tmplinshi 时间: 2015-11-1 00:25
本帖最后由 tmplinshi 于 2015-11-1 00:28 编辑
原来装了 CMDRead 之后直接支持彩色显示了。
作者: CrLf 时间: 2015-11-1 01:19
本帖最后由 CrLf 于 2015-11-1 02:07 编辑
回复 7# tmplinshi
实测 CMDRead 对输入输出无影响,兄台图中的红字估计是 ansicon 的效果
倒是发现这个是 32/64 合一的,顺便一搜又发现了 clink,快捷键相当强大,还能加载 lua 扩展脚本
http://www.bathome.net/s/tool/?key=clink
作者: bailong360 时间: 2015-11-1 10:31
本帖最后由 bailong360 于 2015-11-1 10:32 编辑
回复 6# CrLf
回复 5# 依山居
这个问题已经改进过了
但是新版gt默认是从本地list中读取,而本地不一定是最新,所以就那个了...
先键入不带参数的gt更新一次列表后就可以不带版本号直接下载了
不过这也是个bug,得捉
作者: CrLf 时间: 2015-11-1 15:40
回复 9# bailong360
其实可以根据时间间隔判断是否更新列表,比如离上次下载时不是同一分钟就更新列表,但考虑到时间格式的问题,还需要作兼容设计:
文件修改时间刚好是精确到分钟的,所以可以下载时先创建一个空的临时文件,比较该文件与 tool.txt 的 %%~ti,不相同则更新 tool.txt
作者: netbenton 时间: 2019-12-19 00:21
回复 8# CrLf
clink 怎么用法?没有说明呢?
欢迎光临 批处理之家 (http://www.bathome.net/) |
Powered by Discuz! 7.2 |