Lazy Diary @ Hatena Blog

PowerShell / Java / miscellaneous things about software development, Tips & Gochas. CC BY-SA 4.0/Apache License 2.0

バッチファイルで basename, dirname

from http://ykr414.com/dos/bat.html
Windowsコマンドプロンプト(というかバッチファイル)で、 basename(1) や dirname(1) のようなことをするには、引数を意味する "%1" の代わりに "%~f1" や %~d1" のような指定をすればよい。
"%2" だったら "%~f2" や %~d2" ね。

バッチファイルに

echo %~f1

みたいに書いて、それに c:\winnt\welcome.exe を渡すとどうなるか、次の表にまとめておいた。

指定 出力
%~f1 c:\winnt\welcome.exe
%~d1 c:
%~p1 \winnt\
%~n1 welcome
%~x1 .exe