ホーム > コマンドプロンプト・バッチファイル リファレンス
Windowsバッチファイルで、実行したバッチが格納されているフォルダのパスを取得する方法を解説します。
ソースコード
以下がサンプルのソースコードになります。
赤色文字の「%~dp0」が、パスを取得する部分になります。
バッチは下記に格納しています。
C:\workspace\WinBat\GetExecBatPath.bat
@echo off echo %~dp0 pause
サンプルの実行結果です。
実行したバッチを格納しているパスが取得されました。
C:\workspace\WinBat\ 続行するには何かキーを押してください . . .
部品化したバッチで取得した場合の挙動
別々のフォルダに格納した、あるバッチから呼び出されたバッチでパスを取得した場合、どちらのバッチのパスが取得されるのか確認してみます。
各バッチのソースコードになります。
実行結果になります。
パスに[folder_B]が含まれているので、[child.bat]の格納パスが取得されていることが分かります。
C:\workspace\WinBat\folder_B\ 続行するには何かキーを押してください . . .
まとめになります。
呼び出し先のバッチで、パスを取得した場合は呼び出し先のバッチのパスが取得されることが分かりました。
リンク
コメント