我承認我這么晚知道才這個“奇淫巧技”還來賣弄有點無恥,不過這個還是我在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=%
這辦法也是人想出來的,我只能膜拜了。