バッチファイルを作ることは最近減ってきているが、たまに作るときに一から作成すると時間がかかるので、最低限のテンプレートを用意しておく。

@echo off

rem バッチファイルの説明

rem 環境変数の定義
set VAR1="VAR1の値"
set VAR2="VAR2の値"

pushd "%~dp0"

pause

echo offは実行するコマンドを表示させないコマンド。@をコマンドの前につけるとそのコマンドは表示されなくなるが、すべてのコマンドに@をつけるのは面倒なのでecho offですべてのコマンドを表示しないようにする。

ただし、echo off自体は表示されてしまうので@をつける。

remはコマンド行。

setは環境変数を設定する。

pushdはディレクトリの移動するコマンドで、%~dp0はこのバッチファイルがあるディレクトリを表す。

なのでpushd "%~dp0"はこのバッチファイルがあるディレクトリをカレントディレクトリにする。

ディレクトリの移動はcdでもできるが、cdと比べてpushdは以下の利点がある。

  • pushdを実行した後、popdで元のディレクトリに戻れる
  • 現在のドライブとは別のドライブに移動できる
  • \server\hoge\fugaのようなUNCパスに移動できる

pauseは処理を一時停止するコマンド。このコマンドがないとウィンドウが閉じてしまい処理結果がわからないので入れておく。