我的新法宝Take Command

来源:互联网 发布:方正手机炒股软件 编辑:程序博客网 时间:2024/05/01 12:17

完成界面与数据库的初步预研,又回到后台脚本部分。

以前的较大的项目,我们是从头到脚,用lex&yacc从头到尾实现了一遍。

但现在还是找现成的为好。


目前我的手头有一堆.bat文件,之所以要选用perl,原来是考虑实现一个跨平台,并且可按的脚本自动调用过程。

但思考再三,还是先把这堆bat解决再说。


前天,经过满天遍地的找,找到一个Take command,但当时公司里不能下载,回家下载后,今天装上试用了一下。

果然让我震惊了。


本来,我也想过,实现一个dos命令解析器,采用开源的Wine原码里的cmd.exe,但看到那堆代码之后,当时的确有点倒胃口。

所以转向了perl。但现在看到这个Take command,我觉得眼前一亮。


反正,自动化的基础是手工能做到,必须先把这些批处理搞得清清楚楚才能评估下一步的工作,不如现在就利用一下这个工具,根一下这些.bat文件。

windows的批处理,其实也很强大,但语法是不敢恭维,没谁会喜欢,所以,这也是大家现在还是会首选perl或是tcl,或者是python之类的语言。


来吧,我们打开这个界面:


Cool!

可以先看看help 文档,不建议看太长时间。毕竟只有一个月试用时间~

看见Debug图标了吧,我们进入debug状态吧



肿么回事?一堆乱码。

这个地方,补卡住了很久。

虽然,初步分析,与utf-8相关,我们的文档,是ANSI code。

但我把文件用notepad++改成utf-8之后,无效,打开还是这样。

所以,我一开始打算,把批处理里面所有的中文改成英文。

改着改着,我突然想,能否用这个Take command本身来解决!

事实证明,我的猜想是正确的。


用Take command 新建一个文件,然后从notepad++中粘贴过来,就是OK的,要以显示中文。谢天谢地。


再想起来,昨天好象搜到一个相关的网页,回头找到后,里面有这样一句话:

for %f in ( *.txt ) tpipe /input="%f" /output="%@name[%f].utf8" /unicode=ansi,utf-8 /string=1,0,\xef\xbb\xbf

大意是说,从.txt文件中,找到文件名,然后转成utf8,并且打上utf-8文件起始标记。


太感动了。也就是说,有这样一个命令可以做这个事!

tpipe

字面的意思,看来是:text pipe

好,先找一个文件试试:

tpipe /input="A.bat" /output="A.bat.utf8" /unicode=ansi,utf-8 /string=1,0,\xef\xbb\xbf


先是在cmd.exe里试了试,windows没有这个命令,why?


再拿到Take Command的shell中试试!

成功了,哈!果不其然啊,我爷爷总是这么说。

对了,别高兴太早,赶快就Take Command 的IDE打开看看,能否显示中文。

Ohh Yeah.


当然,网上有牛人,可以完成对目录的遍历,一次搞定我手头的所有文件。但我今天还是不想搞那些事了,我的决定性目标,是搞清楚这一堆批处理是如何运行的。


先把那个遍历目录的文章http://hi.baidu.com/ae6623/item/ad03c291bbc5241a934f416f

收到我的evernote里。改天再说。


对了,现在可以开始debug了,这我就不多说了,打断点,开始。


就是还没找到批处理间调用时,这个开发环境,如何使用。现在看来,好象它不能跨批处理调试,这的确是一个巨大的遗憾。

有同仁,搞定后,通知我

=============================

事实证明,中文是不行的。

因为windows的cmd.exe不支持utf-8编码。虽然能显示,但操作系统内核不支持。所以是不行的。

0 0
原创粉丝点击