実行しているバッチの存在するドライブやパス、バッチ名を得る方法
課題
バッチを実行しているフォルダパスを得たい。
その過程で実行しているバッチの存在するドライブ名や、パス、バッチ名を取得する方法を見つけたので覚えるために書く。
実行
実行環境は次のとおり。
- Windows 7 home premium 64bit
実行しているバッチの情報は次のバッチパラメータ%0とオプションを使うことで得られる。
パラメータ(とオプション) | 得られる結果 |
---|---|
%0 | 実行時に指定したパス名 |
%~d0 | ドライブ名 |
%~p0 | ドライブを除くパス |
%~n0 | ファイル名(拡張子なし) |
%~dpn0 | フルパス |
%0は実行時に指定したパス名だけど、%1や%2...%9もあって、それらはバッチに渡した引数を表す。
バッチ情報を得る例
@echo off echo %%0 : %0 echo %%~d0 : %~d0 echo %%~p0 : %~p0 echo %%~n0 : %~n0 echo %%~dpn0 : %~dpn0
上のバッチをE:\CMDTestにおいて実行すると得られる結果は次になる。