FOR /L = FOR文で普通に数を数える方法 - Windowsのコマンドプロンプト(bat,cmd)
○Windows XP
コンピューター言語の FOR 文と言えば、数を数えて繰り返す例が良く出てきます。Windowsの FOR コマンドで普通に数を数えたい時は、FOR に /L オプションを付けます。
**** 書式
--------
for /l %変数名 in (初期値, 増分, 最後の数) do 実行するコマンド
--------
o コマンド名やキーワードは、大文字小文字のどちらでも大丈夫です。
+ 但し、変数名に限り、大文字小文字を区別します。
o /l = /L オプションです。
o %変数名 = 変数になる名前です。変数名は1文字で指定します。(例: %i)
+ バッチファイルでは、%%変数名。「%」を2つ書きます。
+ 変数名のおすすめは、英字1文字。こちらはヘルプに書かれています。
+ 大文字小文字を区別しますので、使う時には気を付けます。
+ (仕様外の動作)実際には、英字の他に、数字や、漢字などの全角文字も使用出来ました。(= Windows XPの場合です。)
o 初期値 = 最初に変数に入る値です。整数で指定します。
+ 負の数も指定出来ます。
+ 実数を指定すると、小数点以下を無視するみたいです。
o 増分 = 繰り返す時に増やす数です。整数で指定します。
o 最後の数 = 終了条件となる数です。整数で指定します。
+ 増分計算する時に「この値を通過」すると、実行は止まります。
o 実行するコマンド = DO の後に書きます。
+ 複数並べたい時は、丸括弧(= 小括弧)で括る事も出来ます。
+ 括弧内で「環境変数を設定し、その値を参照する」時には、小技が必要になります。
+ 詳しくは、「バッチファイル。IF文やFOR文の中で複数コマンドを書く時の注意点」
+ 大掛かりになる時は、CALL文が便利です。
+ 変数の使い方については、こちらをどうぞ
+ 「%変数の使い方」
+ 「環境変数の使い方。置換と部分文字列」
** 構文の区切り文字について
o カンマ区切りですが、空白区切りでも正しく動きました。
+ もっとも、ヘルプには書いていませんので、カンマを付けて書く事をおすすめします。
**** 戻り値 ( ERRORLEVELの値。確認分のみ )
o (設定なし) = このコマンドは、ERRORLEVELの値を更新しません。
+ 但し、FOR の中で実行するコマンドが ERRORLEVELの値を更新する事があります。
+ 「[1 の使い方が誤っています。」 = FOR文の書き方が間違っています。FOR の文法を見直して下さい。
**** 使用例
o コマンドプロンプト画面で動かす時の書き方
--------
@echo off
for /l %i in (3, 9, 39) do echo ミクさんの買い物カゴの中身。ネギ %i 本
echo on
--------
+ コマンド名やキーワードは、大文字小文字のどちらでも大丈夫です。
+ /l = /L オプションです。
o バッチファイルで動かす時の書き方
--------
@echo off
echo 蕎麦に合うネギを買いに来たミクさん。
for /l %%i in (3, 9, 39) do echo ミクさんの買い物カゴの中身。ネギ %%i 本
echo お蕎麦の事を忘れていませんか。ミクさん。
--------
+ 変数名の前に「%」を2つ付けます。
**** メモ
o 繰り返し文の途中で強制的に止めたくなった時は、「Ctrl」キーを押しながら「C」キーを連打します。
+ 短い処理の場合、3回程度押すと止まります。
o 途中で停止したい時は、「Ctrl」キーを押しながら「S」キー。
**** 確認したバージョン
o Windows XP Service Pack 3
==
関連ページ:
▼FOR = 繰り返し実行する
▼Windowsコマンド。制御文と環境変数(▼ABC順)
▼コマンドプロンプト画面
▼制作メモ
> FOR のオプション無し = FOR文でファイルだけを処理する、もしくは、文字列を処理する
FOR /D = FOR文でフォルダーだけを処理する、もしくは、文字列を処理する
FOR /R = FOR文でサブフォルダーも処理対象にする
(2011年5月16日追加と訂正。書式欄の変数名。大文字小文字を区別する。推奨は英字のみ)