4

コマンドラインまたはバッチファイルから呼び出されたときにPowershellV2.0スクリプトが受け入れる引数の最大数はいくつですか?

4

2 に答える 2

8

理論上の最大値は、2GB相当の引数になります。:-)これは、関数内のマップされていない引数がオブジェクト配列($args)にマップされ、.NET 2.0 / 4.0(4.5がインストールされている)の配列がInt32.MaxValueまでインデックス付けできるという事実に由来します。私が理解していることから、実際の制限は実際のタイプによってはそれよりもいくらか低くなっています。FWIWPowerShellで128MBのサイズのオブジェクトの配列を作成できます。引数の数に対するより現実的な制限は、コマンドラインの長さの制限だと思います。ある時点で、cmd.exeの最大行長は8191でした。PowerShellの最大値はわかりませんが、cmd.exeの最大値に似ていると思います。また、外部プロセスを開始する必要がある場合、これらのシェルはCreateProcess APIを通過し、32,767文字の制限があります。プロセスに渡されるコマンドラインの場合。

于 2012-09-27T23:04:38.057 に答える
0

制限はありませんが、いくつ使用する予定ですか?

于 2012-09-27T22:22:22.530 に答える