BBH
-Biz Branding Hub-
投稿日 : 
2019/09/10
更新日 : 
2019/09/10

Windowsバッチでファイルのパスやファイル名、拡張子などを取得する方法

ソースコード

パスやファイル名は文字列編集でも切り出すことができます。
しかし、ファイルパスが関数の引き数として渡された場合、以下のような修飾子を使って展開することが可能です。

Windws bat

set file_path=D:\samplefolder\samplefile.txt
call :GET_FILE_INFO %file_path%
exit

:GET_FILE_INFO
echo %~d1%~p1  // 格納フォルダのフルパス(D:\samplefolder)
echo %~n1%~x1  // ファイル名(samplefile.txt)
echo %~x1 // 拡張子(.txt)
exit /b

%~d1 のような書き方は特殊な書き方で、受け取った引数から特殊な条件で値を抜き出すことができます。
例えば、
%~d1…ドライブ名
%~p1…ファイルが格納されているフォルダパス名
%~n1…ファイル名(拡張子なし)
%~x1…拡張子

ちなみに引数が複数ある場合は、 %~d2 のようにすれば、2番目の引数に対して処理を行うことができます。

この他にも様々なオプションがあります。
以下で詳しく解説されていますので、参考にしてください。

Profile

管理人プロフィール

都内でITエンジニアをやってます。
変遷:中規模SES→独立系SIer→Webサービス内製開発
使用技術はその時々でバラバラですが、C#、AWSが長いです。
どちらかと言うとバックエンドより開発が多かったです。
顧客との折衝や要件定義、マネジメント(10名弱程度)の経験あり。
最近はJava+SpringBootがメイン。

Recommend