コマンドラインの最大長を確認する
コマンドプロンプトで実行するバッチ処理へ引数を指定する場合、コマンドラインが長くなってしまうことがある。
WindowsのCMD.exeはコマンドラインの長さの限界が短いため、気をつける必要がある。
WindowsXP以降の場合、8,191文字指定できる。
もう、動いているサーバはないと思うが、
Windows2000,NT4.0では2,047文字指定できる。
引数に環境変数を展開したりすると、コマンドラインがとても長くなってしまうことがある。
特に警告もなく、後ろが切れてしまうので注意が必要。
ちなみに、Linuxの場合はコマンドを実行して確認する。
$ getconf ARG_MAX
2621440
上記の結果は、Red Hat Enterprise Linux Server release 6.5 (Santiago)の場合。
macOS high Sierraでは
$ getconf ARG_MAX
262144
Red HatとmacOSとでは、コマンドラインの長さが一桁違った。どちらにしてもWindowsと比べたら圧倒的に長いことは確実だが。
同じタグの記事
同じカテゴリの記事
コメントを残す