windows命令行長度的限制


http://support.microsoft.com/kb/830473

此文大致內容如下:

在windows XP或更高版本,命令行的最大長度為8191 個字符
在windows2000或windows NT4.0,命令行的最大長度為2047個字符

這個限制對於環境變量同樣有效,例如 windows XP下,PATH不能超過8191個字符

如果使用cmd運行批處理文件(即.bat),這個限制同樣有效

解決方法如下:
將程序的命令行放在一個文本中,程序從這個文本中讀取命令行。

對於 javac來說,它的命令行支持 Argument File,在這個Argument File中,可以指定編譯選項和文件名,語法如下:
javac @argument_file

原則上,如果這個程序使用cmd執行,那么就會存在這樣的限制。

有一點疑問,使用CreateProcess創建的程序還存在這點限制么,查了下MSDN,它是這樣描述的:
The maximum length of this string is 32K characters
也就是說,使用CreateProcess創建的程序不存在這樣的限制,使用它,命令行的長度可以達到32K個字符


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM