バッチ処理2
1.指定したラベル行に処理をジャンプ(GOTO)
 
バッチ処理ファイル(.batファイル)内にはラベルを指定することができる。
GOTO文はこのラベルに移ることができる。

例)
以下のようにLABEL1という名のラベルに移るバッチファイルを、TEST.BATという名前で保存した。
@ECHO OFF
GOTO LABEL1
ECHO ここは実行されない
:LABEL1
ECHO ここは実行される

TEST.BATを実行すると以下のようにLABEL1に移り、「ECHO ここは実行されない」の行は実行されない。 



2.ユーザからのキー入力を待ち、受け取る(BATKEY)
 
BATKEYはメッセージを表示して、その後ユーザからのキー入力を待つ。
ユーザが入力したキー入力はERRORLEVELに返される。


書式は以下のとおり。
BATKEY スイッチ [メッセージ]
スイッチは以下の数値を指定する。
 0:入力は数字のみで0から9まで。
 1:入力はY(コード:0)とN(コード:255)のみ。
 2:すべての入力を受け付ける。入力されたキーのASCIIコード。例えばAが入力されたら65が返される。



「0から1の数値を入力してください。」と表示してキーボードから入力された数値を表示する。
※例に出てくるIFは後で説明する。
【バッチファイルの内容】


【実行結果】

1を打つ

3.バッチファイル内で条件分岐(IF)
 
指定した条件に応じて処理を実行したいときにIF文を使用する。
判定方法として以下の3とおりがある。

【判定方法1】ERRORLEVEL

ERRORLEVELは直前の処理が返すコードである。何を返すかは直前の実施したコマンドやプログラムにより異なる。
1つ前のBATKEYの例のようにERRORLEBELを利用して処理を分岐できる。

IF ERRORLEVEL 255 処理内容

のように書く。



【判定方法2】文字列の比較

二つの文字列を比較する判定方法である。
IF "%変数名%" == "A" 処理内容

以下のように変数を使用することも可能。
IF "%変数名%" == "%変数名%" 処理内容



【判定方法2】ファイルの存在

ファイルが存在するときに処理をすることが可能。
IF EXISTS ファイル名 処理内容

戻る