バッチスクリプトループ 質問する

バッチスクリプトループ 質問する

コマンドを 100 ~ 200 回実行する必要がありますが、これまでの調査では、このコマンドを 100 回コピー/貼り付けするか、ループを使用する必要があることがわかりましたforが、forループでは項目のリストが想定されるため、操作するファイルが 200 個必要になるか、項目が 200 個リストが必要になるため、意味がありません。

C プログラムを記述し、テスト目的で自分のプログラムを実行するために別のプログラムを記述する必要がある理由を詳しく説明する手間をかけるのは避けたいです。プログラム自体を変更することもできません。

では、コマンド が与えられた場合、バッチ スクリプトを使用してaそれを 回実行するにはどうすればよいですか?N

注: 無限ループは避けたい

たとえば、Javascript では次のようになります。

var i;
for (i = 0; i < 100; i++) {
  console.log( i );
} 

Windows 上で実行されるバッチ スクリプトではどのような感じになるでしょうか?

ベストアンサー1

for /lあなたの友だちです:

for /l %x in (1, 1, 100) do echo %x

1 から始まり、1 ずつ増加し、100 で終了します。

警告:次のようにバッチ ファイル内にある場合は、%%の代わりにを使用してください。%

for /l %%x in (1, 1, 100) do echo %%x

(これは、Windows スクリプトに関して私が本当に嫌いなことの 1 つです。)

ループの各反復に複数のコマンドがある場合は、次のようにします。

for /l %x in (1, 1, 100) do (
   echo %x
   copy %x.txt z:\whatever\etc
)

またはバッチファイルで:

for /l %%x in (1, 1, 100) do (
   echo %%x
   copy %%x.txt z:\whatever\etc
)

鍵:

  • /lforコマンドがファイルのセットを操作するのではなく、数値的に操作することを示します。
  • %xループ変数であり、(starting value, increment of value, end condition[inclusive] )

おすすめ記事