コマンドラインの最大長を確認する

コマンドラインの最大長を確認する

コマンドプロンプトで実行するバッチ処理へ引数を指定する場合、コマンドラインが長くなってしまうことがある。
WindowsのCMD.exeはコマンドラインの長さの限界が短いため、気をつける必要がある。

WindowsXP以降の場合、8,191文字指定できる。
もう、動いているサーバはないと思うが、
Windows2000,NT4.0では2,047文字指定できる。

引数に環境変数を展開したりすると、コマンドラインがとても長くなってしまうことがある。
特に警告もなく、後ろが切れてしまうので注意が必要。

ちなみに、Linuxの場合はコマンドを実行して確認する。

1
2
$ getconf ARG_MAX
2621440

上記の結果は、Red Hat Enterprise Linux Server release 6.5 (Santiago)の場合。

macOS high Sierraでは

1
2
$ getconf ARG_MAX
262144

Red HatとmacOSとでは、コマンドラインの長さが一桁違った。どちらにしてもWindowsと比べたら圧倒的に長いことは確実だが。

同じタグの記事
同じカテゴリの記事

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

CAPTCHA