Winodowsバッチでのパス情報の取得に関して、ほぼ個人的な整理。
test.bat
rem C:¥test¥folder¥test.bat
rem バッチファイル自身
echo %0
rem ドライブ
echo %~d0
rem ドライブを除いたパス
echo %~p0
rem デイレクトリのフルパス
echo %~dp0
rem 拡張子
echo %~x0
rem 拡張子を除いたファイル名
echo %~n0
rem 拡張子を含むファイル名
echo %~nx0
rem ファイル属性
echo %~a0
rem ファイルの更新日時
echo %~t0
実行結果
test.bat
C:
¥test¥folder¥
C:¥test¥folder¥
.bat
test
test.bat
--a--------
2023/07/24 21:00
%~a0で取得できる属性情報はattribで取得できる属性情報に対応している(出力結果は同じではない)。
上記はバッチファイル自身を指す%0で記載しているが、サブルーチン化して引数として指定する場合などは%1で対応する。