コマンドウィンドウから操作を複数回実行したい。常識的には、FORループでこれを処理できるはずです。案の定、myProg.exe
などを実行したい場合は、コマンドウィンドウを開いて以下を使用できます。
C:\> FOR %i in (1 2 3) DO myProg.exe
簡単です。
しかし、myProg.exe
を1000回実行する場合はどうなりますか? FORループで範囲を指定したいのですが、これを行う方法がわかりません。
直観的には、次のいずれかのようなことができるはずです。
C:\> FOR %i in (1 to 1000) DO myProg.exe
C:\> FOR %i in (1-1000) DO myProg.exe
しかし、もちろん、これは機能しません。 FORループはリストをそれぞれ3トークンと1トークンとして解釈するため、myProg.exe
はそれぞれ3回と1回だけ実行されます。
バッチファイルソリューション
おそらく、ある種のバッチ(.bat)ファイルを書くのは簡単でしょう。
SET COUNT=0
:MyLoop
IF "%COUNT%" == "1000" GOTO EndLoop
myProg.exe
SET /A COUNT+=1
GOTO MyLoop
:EndLoop
しかし、コマンドラインからこれを行う簡単な方法はありませんか?
ステートメントで/ lタグを使用して、一連の数値をループ処理できます。
例えば。
C:\> FOR/l%i in(1,1,1000)DO myProg.exe
これは、1から始まり、1000になるまで1つずつステップ実行する範囲をループすることを意味します。
/ l %% i in(1,1,100)do echo %% i
作業する前に別の%記号を追加します