バッチファイルでbasename


ファイルのフルパスを渡して、そのファイル名だけを取得するbasename処理をバッチファイルで作ってみます。

ソース

basename.bat
@echo off

call :basename C:\hoge\fuga.csv
echo basename1:%basename%

call :basename C:\hoge\fuga\piyo.csv
echo basename2:%basename%

exit /b

:basename

    setlocal
    endlocal & set basename=%~nx1

exit /b

実行結果

>basename.bat
basename1:fuga.csv
basename2:piyo.csv

解説

バッチパラメータの%~nx1を利用して渡されたパラメータからファイル名と拡張子だけを取り出すことで実現しています。

関連記事

バッチファイルでdirname