【bat】バッチファイルのパスやファイル名を取得する方法

バッチファイルを実行中に、そのバッチファイル自身のパスやファイル名を取得する方法をご紹介します。これらの情報を取得することは、スクリプトのデバッグやログ出力、ファイルの動的処理などに役立ちます。

バッチファイルのフルパスを取得する方法

バッチファイルのフルパス(ドライブとパス)を取得するには、以下のコードを使用します。

@echo off
echo %~dp0

%~dp0 は、実行中のバッチファイルのドライブとパスを表します。例えば、バッチファイルが C:\scripts\example.bat にある場合、C:\scripts\ が出力されます。

バッチファイルのファイル名を取得する方法

バッチファイルのファイル名と拡張子を取得するには、以下のコードを使用します。

@echo off
echo %~nx0

%~nx0 は、実行中のバッチファイルのファイル名と拡張子を表します。例えば、バッチファイルが example.bat であれば、example.bat が出力されます。

バッチファイルのフルパス(パス+ファイル名)を取得する方法

バッチファイルのフルパス(ドライブ、パス、ファイル名、拡張子)を取得するには、以下のコードを使用します。

@echo off
echo %~f0

%~f0 は、実行中のバッチファイルのフルパスを表します。例えば、バッチファイルが C:\scripts\example.bat にある場合、C:\scripts\example.bat が出力されます。

まとめて表示する例

以下の例では、実行中のバッチファイルのドライブ、パス、ファイル名、拡張子をそれぞれ取得し、表示します。

@echo off
echo ドライブとパス: %~dp0
echo ファイル名と拡張子: %~nx0
echo フルパス: %~f0
pause

このスクリプトを実行すると、実行中のバッチファイルのフルパス、パス、ファイル名が順に表示されます。これにより、バッチファイル内でこれらの情報を利用することができます。

まとめ

バッチファイルのパスやファイル名を取得する方法を理解することで、スクリプトの柔軟性が向上します。これらのテクニックを活用して、より効率的なバッチファイルを作成しましょう。