ELSE = IFで実行しない時に実行する - Windowsのコマンドプロンプト(bat,cmd)
○Windows XP
先行する IF の条件に一致しなかった時に実行します。ELSE は、IF コマンドに付随する識別子です。
**** 書式
--------
if 条件 ( 真の時に実行するコマンド ) else 偽の時に実行するコマンド
--------
o コマンド名やキーワードは、大文字小文字のどちらでも大丈夫です。
o 条件 = 書き方は、「IF = 条件に一致したら実行する」の説明をご覧下さい。
o 真の時に実行するコマンド = ELSE 以下を付ける時は、丸括弧(= 小括弧)で括ります。
o 偽の時に実行するコマンド = 条件を満たさなかった時に実行するコマンドです。
**** 使用例
o IF文全部を1行で書く方法
--------
@echo off
if "%1"=="ミクさん" ( echo おはようございます、ミクさん。 ) else echo こんにちは。
--------
+ 「真の時に実行するコマンド」を、丸括弧(= 小括弧)で括ります。
+ 「(」の後ろの空白や「)」の前の空白は、詰めても大丈夫です。
+ 「真の時に実行するコマンド」の中では「)」を使う事が出来ません。全角の「)」なら大丈夫です。
+ ELSE を使う代わりに、GOTO で代用出来ます。
+ 詳しくは、「バッチファイル。IF文やFOR文の中で複数コマンドを書く時の注意点」
+ ELSE の後も括弧を使用出来ます。
+ @echo off は、コマンド内容を表示しないようにするコマンドです。
+ 不要なら、削除して下さい。
o 真の時に実行するコマンドを、複数行で書く方法
--------
@echo off
if "%1"=="ミクさん" (
echo おはようございます。ミクさん。
echo 皆さん、おはようございます。
) else echo こんにちは。
--------
+ 「(」までが1行です。
+ IF 文内の最初の空白は、無くても大丈夫です。
+ 括弧内は1行でも大丈夫です。空にすると文法エラーになります。
+ 「else」の前で改行すると、そこで文が終わります = 文法エラーになります。
+ なお、括弧内で、同じ環境変数に対して代入と参照を行う時は、注意が必要です。
+ 詳しくは、「バッチファイル。IF文やFOR文の中で複数コマンドを書く時の注意点」
o どちらも括弧を付けて書く方法
--------
@echo off
if "%1"=="ミクさん" (
echo おはようございます。ミクさん。
echo 皆さん、おはようございます。
) else (
echo こんにちは。
)
--------
+ IF 文内の最初の空白は、無くても大丈夫です。
+ 最後の「)」の前は、改行しなくても大丈夫です。
**** 確認したバージョン
o Windows XP Service Pack 3
==
関連ページ:
▼Windowsコマンド。制御文と環境変数(▼ABC順)
▼Windowsコマンド一覧(▼ABC順)
▼コマンドプロンプト画面
▼制作メモ
> ▼FOR = 繰り返し実行する
GOTO = 指定したラベルに移動する
CALL = バッチファイルやラベルを呼び出す