導入
変数は「値を入れておく名前付きの箱」です。フォルダのパスや名前など、後で何度も使う値を1か所で管理でき、変更もそこだけ直せば済みます。
説明
作るときは set 名前=値、使うときは名前を % ではさんで %名前% と書きます。
@echo off
set name=たろう
set folder=C:\work\data
echo こんにちは、%name% さん
echo 作業フォルダは %folder% です
いちばん多いミスは = のまわりの空白 です。set name = たろう のように空白を入れると、変数名が name (末尾に空白)に、値が たろう(先頭に空白)になってしまいます。set 名前=値 は 前後に空白を入れず ぴったりくっつけて書きましょう。
値に空白を含めたいときは、set "name=山田 太郎" のように 全体をダブルクオートで囲む のが安全です(クオートは変数の中身には入りません)。
@echo off
set "fullname=山田 太郎"
echo ようこそ、%fullname% さん
変数はそのバッチの中だけ
setで作った変数は、そのバッチ(と、そこから呼んだ子バッチ)の中でだけ有効です。バッチが終われば消えるので、うっかり PC の設定を変えてしまう心配はありません。
やってみよう
set で自分の名前とお気に入りのフォルダを変数に入れ、echo で表示するバッチを書いてみましょう。= の前後に空白を入れないのがコツです。