コマンドプロンプト
変数とバッチファイル
変数の定義
コマンドプロンプトでは簡単な変数を利用することができます.変数は「%変数名%
」で参照します.まだ,「NAME
」という変数は定義されていないので,次のような結果になります.
C:\Users\rinsaka\Documents\cmd>echo Hello %NAME%! ⏎
Hello %NAME%!
C:\Users\rinsaka\Documents\cmd>
次に,「set
」コマンドを用いて「NAME
」変数に文字列を代入します.その後,変数の内容を含む文字列を画面に表示します.
C:\Users\rinsaka\Documents\cmd>set NAME=Koichiro ⏎ C:\Users\rinsaka\Documents\cmd>echo Hello %NAME%! ⏎ Hello Koichiro! C:\Users\rinsaka\Documents\cmd>
変数の内容を削除するには次のようにします.
C:\Users\rinsaka\Documents\cmd>set NAME= ⏎
C:\Users\rinsaka\Documents\cmd>
バッチファイル
バッチファイルは指定したコマンドを何度も繰り返して実行するなど,自動的な処理をする際に便利なファイルです.メモ帳やVisual Studio Codeなどのテキストエディタで次の内容を作成し,ファイル名の拡張子には「.bat」を指定して保存してください.なお,「set /p
」は変数に入力値を代入するためのオプションです.
hello.bat
@echo off
set /p NAME=input your name:
echo Hello %NAME%!
echo %DATE% %TIME%
pause
保存されたバッチファイルを確認します.
C:\Users\rinsaka\Documents\cmd>dir ⏎ ドライブ C のボリューム ラベルは OS です ボリューム シリアル番号は 9018-19A1 です C:\Users\rinsaka\Documents\cmd のディレクトリ 2025/07/28 18:13 <DIR> . 2025/07/28 17:46 <DIR> .. 2025/07/28 18:13 88 hello.bat 2025/07/28 17:50 25 test1.txt 2025/07/28 17:50 25 test2.txt 2025/07/28 17:52 75 test30.txt 4 個のファイル 213 バイト 2 個のディレクトリ 163,406,864,384 バイトの空き領域 C:\Users\rinsaka\Documents\cmd>
バッチファイルを実行するには,コマンドプロンプトでファイル名を指定するだけです.
C:\Users\rinsaka\Documents\cmd>hello.bat ⏎ input your name:Taro ⏎ Hello Taro! 2025/07/28 18:13:43.58 続行するには何かキーを押してください . . . C:\Users\rinsaka\Documents\cmd>
条件分岐は次のような感じになります.18歳以上であるかどうかを確認して,「Adult」または「underage」を表示します.なお,REM
はその行のコメントアウトを意味し,GEQ
は以上 (Grater than or EQual to) を意味します.また1行目に「@echo off
」を記述することで,バッチファイル内のコマンド自体が表示されなくなります.試しに1行目を削除して実行した場合にどのような結果になるかについても確認すると良いでしょう.
age.bat
@echo off
set AGE=17
REM 条件分岐
IF %AGE% GEQ 18 (
echo adult
) ELSE (
echo underage
)
C:\Users\rinsaka\Documents\cmd>age.bat ⏎
underage
C:\Users\rinsaka\Documents\cmd>
繰り返しの構文も利用してみましょう.カレントディレクトリにある拡張子が *.txt であるファイル名をすべて取得して表示します.
files.bat
@echo off
FOR %%i IN (*.txt) DO echo %%i
C:\Users\rinsaka\Documents\cmd>files.bat ⏎
test1.txt
test2.txt
test4.txt
C:\Users\rinsaka\Documents\cmd>