【Windowsバッチファイル(.bat)】フルパスからフォルダー名を取得する


この記事はプロモーションを含みます。

バッチファイル

ホーム > コマンドプロンプト・バッチファイル リファレンス

Windowsのバッチで、フルパスからフォルダー名を取得する方法を解説します。

フォルダー名を取得する

フルパスからフォルダー名を取得するバッチファイルです。

@echo off

rem フォルダ名を取得するパス
set folderPath=C:\ws\test

rem フォルダ名を取得
for /f %%a in ("%folderPath%") do (
	set folderName=%%~na
)

rem フォルダ名を表示
echo %folderName%

pause

上記バッチファイルの実行結果です。

test
続行するには何かキーを押してください . . .

注意事項

本バッチ使用時の注意事項です。

取得対象にファイルを指定した場合

パス(変数:folderPath)にファイルを指定した場合は、以下のようにファイル名から拡張子を除いた文字列が取得されます。

例えば、4行目を「set folderPath=C:\ws\test\sample.txt」とした場合、
「sample」が取得されます。

対処方法としては、事前にパスがファイルかフォルダかを判定すれば良いでしょう。
ここでは割愛しますが、必要であれば、以下を参考にして下さい。

その他、バッチの様々なテクニックは以下にまとめています。

コメント

タイトルとURLをコピーしました