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個字符 |