ここではWindowsのバッチファイルの基本的な書き方について紹介します。
目次
ECHO コマンド
文字列をコマンドプロンプトに表示する
ECHOコマンドは任意の文字列をコマンドプロンプトに表示することができます。
echo バッチ処理を開始します
C:\work>echo バッチ処理を開始します バッチ処理を開始します |
実行したコマンドを非表示にする
@echo offと記述することで、バッチファイル内のコマンドの実行結果を非表示にすることができます。
@echo off
echo バッチ処理を開始します
バッチ処理を開始します |
PAUSE コマンド
キーが押されるまで処理を一時停止する
PAUSE コマンドはバッチファイルの処理を一時停止して、何かキーが押されるのを待つことができます。
@echo off
echo バッチ処理を開始します
PAUSE
バッチ処理を開始します 続行するには何かキーを押してください . . . |
REM コマンド
コメントを記述する
REM コマンドはバッチファイル内にコメントを記述します。
@echo off
rem 処理開始
echo バッチ処理を開始します
バッチ処理を開始します |
SET コマンド
変数を定義する
SET コマンドはバッチファイルで変数を定義することができます。変数を使用する場合は %変数名% と書きます。
以下は2つの変数の間に \ を入れて結合しています。
@echo off
SET FILE_PATH=C:\work
SET FILE_NAME=TEST.bat
echo %FILE_PATH%\%FILE_NAME%
C:\work\TEST.bat |
IF コマンド
条件分岐をする
IF コマンドはバッチファイルの中で条件分岐を行います。
以下は SET /P を使用して、ユーザーが入力した値を判断してメッセージを表示します。
@echo off
echo 処理を続行しますか?(Y/N)
SET /P ANSWER=
if "%ANSWER%"=="Y" (
echo 処理を続行しました。
) else (
echo 処理を中止しました。
)
処理を続行しますか?(Y/N) Y 処理を続行しました。 |
ファイルの有無を判定する
IF コマンドと exist コマンドを組み合わせてファイルの有無を判定します。
@echo off
SET FILE_PATH=C:\work\test.txt
if exist %FILE_PATH% (
echo ファイルが存在します。
) else (
echo ファイルが存在しません。
)
ファイルが存在します。 |
ファイルかフォルダかを判定する
exist コマンドに \を付けることでフォルダであれることを判定します。
@echo off
SET FILE_PATH=C:\work\test.txt
if exist %FILE_PATH%\ (
echo フォルダです。
) else (
echo フォルダ以外です。
)
フォルダ以外です。 |
FOR コマンド
繰り返し処理をする
FOR コマンドはバッチファイルの中で繰り返し処理を行います。FOR コマンドで使用する変数は %%変数 と記述します。変数名は1文字のアルファベットに限られます。
以下はフォルダを指定して、フォルダ内で拡張子が txt のファイルを表示します。
@echo off
SET FOLDER=C:\work\
for %%f in (%FOLDER%*.txt) do (
echo %%f
)
C:\work\a.txt C:\work\b.txt C:\work\c.txt |
以上、Windowsのバッチファイルの基本的な書き方について解説しました。