バッチ プログラムには、実行速度を低下させる特定の構成要素があります。この点に大きな影響を与える唯一の構造は、コマンドのGOTO
代わりにa を介してループを組み立てることです。FOR
の多い大規模なプログラムをコマンドでGOTO
書き直すと、大幅FOR
な時間の節約が期待できます。この点に影響を与えるもう 1 つの側面は、プログラムに含まれるコマンド/行の数です。つまり、行数の少ない別のプログラムよりも同じ結果が得られるプログラムは、より高速に実行されます。より少ないコマンドで同じことを達成する方法は、バッチ ファイル機能をうまく利用することです。
たとえば、次のコード:
set /A b=a+8
set /A c=b*2
set /A d=c+e
...これより遅く実行します:
set /A b=a+8, c=b*2, d=c+e
このコード:
command-that-return-errorlevel
if %errorlevel% equ 1 goto label-1
if %errorlevel% equ 2 goto label-2
if %errorlevel% equ 3 goto label-3
...これより遅く実行します:
command-that-return-errorlevel
for %%e in (1 2 3) do if %errorlevel% equ %%e goto label-%%e
...そして前のものはこれより遅く実行されます:
command-that-return-errorlevel
goto label-%errorlevel%
変数名を短くしても、実行速度にはほとんど影響しません。
このように、最良のオプションは、最初からこれらの手法を使用してバッチ ファイルを作成することです。バッチ ファイルを読み取り、以前の変更を実行するプログラムを開発する簡単な方法はありませGOTO
んFOR
。