私のlast questionに続いて、あまりにも多くの変数が設定された場合にどうなるか知りたいと思います。バッチファイルにあまりにも多くの変数が設定されているとどうなりますか
もう一度私は同じスクリプトを持っています。もちろん、実行するのは永遠にかかります。
@Echo off
Setlocal EnableDelayedExpansion
For /L %%P In (1,1,999999999999) Do (
Set Foo[%%P]=%%P
Echo !Foo[%%P]!
)
また、私は何が起こるか知りたいと思います。何か助けに感謝します。
追加する必要はありませんでしたこれは新しい質問です。基本的に同じことをあなたの既存の質問に追加することができます。あなたはそれを試したとき何が起こったのですか?それはあなた自身の質問に答えることはできませんか? – Compo
@Compo私はあなたに最初の質問を受け入れます。質問には、永遠にテストが必要です。それで私の質問に答えることはできません – SteveFest
Windowsコマンドプロセッサは32ビットの符号付き変数を使用するため、最大数は2147483647です。高速にRAMを使用するために、 'Echo!Foo [%% P]! 'を削除し、各環境変数に7500文字の長さの文字列を指定します。 Windows XP SP3 x86でバッチファイルを実行しているコマンドプロセスは、すでに数分でプロセスエクスプローラに応じて158 MBのRAMが必要になります。また、RAM使用率が一時的に260 MBを超えることもあります。これは、環境変数テーブルを新しい大きなRAMブロックに移動した場合です。 – Mofi