我承认我这么晚知道才这个“奇淫巧技”还来卖弄有点无耻,不过这个还是我在SO上发问才获得的一点经验,供大家参考。
我们知道,批处理文件的一行是有长度限制的,多了会被忽略,曾经有人拿了几万汉字想直接用Echo 显示,我只知道不行,但却无法说出到底多少不行,惭愧。
http://support.microsoft.com/kb/830473
从这里可以知道极限其实是8191个字节,所以你定义的字符串虽然在内存限制上可以忽略不计,但你确会倒在你输入上和Parsing上这个限制。
那有没有办法绕过这个限制,能让Echo 显示很长一段文字,比如上万个汉字呢,答案是可以,请看如下一段代码。
echo Longline with 8191 characters.........
set "var=a"
echo UltraLongLine %var:4000chars=% %var:4000chars=% %var:4000chars=% %var:4000chars=%
这办法也是人想出来的,我只能膜拜了。
网友评论