バッチファイルで変数を使うと、値を保存・再利用できます。set コマンドはバッチファイルで最もよく使う命令の一つです。
setコマンドの基本
@echo off
:: 変数に値を代入(=の前後にスペースを入れない)
set NAME=Taro
set AGE=25
set GREETING=こんにちは
:: 変数を参照する(%変数名%で囲む)
echo %NAME%さん、%GREETING%
echo 年齢: %AGE%歳
setコマンドのオプション
| コマンド | 意味 |
|---|
| set 変数名=値 | 変数に値を代入 |
| set 変数名= | 変数を削除(値なしで代入) |
| set /p 変数名=プロンプト文字 | ユーザーからキーボード入力を受け取る |
| set /a 変数名=数式 | 算術演算を行う |
ユーザー入力を受け取る(/p オプション)
@echo off
set /p USERNAME=名前を入力してください:
echo %USERNAME%さん、ようこそ!
pause
算術演算(/a オプション)
@echo off
set /a RESULT=10+5
echo 10+5 = %RESULT%
set /a RESULT=10*3
echo 10*3 = %RESULT%
set /a RESULT=17%%3
echo 17%%3 = %RESULT% (%%はバッチ内でパーセント記号を表す)
主要な環境変数一覧
| 環境変数 | 内容 | 例 |
|---|
| %DATE% | 今日の日付 | 2026/04/02 |
| %TIME% | 現在時刻 | 09:30:00.00 |
| %USERNAME% | ログイン中のユーザー名 | Taro |
| %COMPUTERNAME% | コンピューター名 | MY-PC |
| %USERPROFILE% | ユーザーのホームフォルダ | C:UsersTaro |
| %TEMP% | 一時フォルダのパス | C:UsersTaroAppDataLocalTemp |
| %WINDIR% | Windowsフォルダ | C:Windows |
| %CD% | 現在のディレクトリ | C:Scripts |
| %~dp0 | バッチファイル自身があるフォルダ | C:Scripts |
まとめ
set 変数名=値 で変数に代入し %変数名% で参照するset /p でユーザーからの入力を受け取れるset /a で加減乗除などの算術演算ができる%~dp0 はバッチファイル自身の場所を取得する便利変数- 次の記事では条件分岐(if文)を学ぶ
コメント