やり方
rem このbatファイルが置かれているフォルダーパスを表示
echo %~dp0
rem 実行結果確認のためにいったん止める
pause
末尾に\が付きます。
%~dp0は一体何なのか
まず %0
や %~0
の意味は下記を見て下さい。
それを踏まえた上で %~d0
のように d
を付けると、はbatファイルの ドライブ名だけ を抜き出してくれます。
前述のサンプルをこうすると…
rem このbatファイルが置かれているドライブ名を表示
echo %~d0
rem 実行結果確認のためにいったん止める
pause
今度は p
を付けると、batファイルの フォルダー名だけ を抜き出してくれます。
前述のサンプルをこうすると…
rem このbatファイルが置かれているフォルダー名を表示
echo %~p0
rem 実行結果確認のためにいったん止める
pause
-
%~0
は ダブルクオテーションを除去したbatファイル自身のファイルパス が取得できる。 - そこに
dp
のオプションを付け、%~dp0
とすることで、 batファイル自身が置かれているフォルダーパス を取得できる。
参考サイトさん
バージョン
Microsoft Windows [Version 10.0.19045.3636]