Windowsでexeを実行する際の引数の最大長について
調べたのでメモ
Windowsのバージョンによっても違いますが
ここではWindows7以降の話
実行ファイルに渡すことのできる引数の最大長 32767 文字
これはUnicodeの制限から来ています
CMD.EXEからの実行の場合、
実行ファイル名も含めて、 8192文字
CMD.EXEの制限です
C#.net等からProcessを作成する場合、2048文字(たぶん)
UseShellExecute = falseにすればいいという噂もありますが、確認できませんでした
CMD.EXEから8192文字 以上の引数を実行 できないのは
結構ネックです。batファイルが実行できないですから。
CMD.EXEではなく、Shellを変更して,PowerShellやMsysを利用すれば
32767 文字まで利用可能なようです。
なので、batで動かない時はpsに拡張子を変更しましょう。
※長い引数を使うよりは、なるべくファイルで渡すべきですが
0 件のコメント:
コメントを投稿