[windows]バッチファイル自身があるディレクトリの指定方法

超まとめ

実行するバッチファイルが配置されているディレクトリの表現は次の通りです。

%~dp0

例:

cd /d %~dp0
dir %~dp0

参考URL

備考

  • ネットワークドライブ上で%~dp0を使用すると、バッチの実行に多少時間がかかることがあるようです。
  • ネットワークドライブ上のディレクトリも%~dp0に格納されています。
    • 使うコマンドがUNCをサポートしていれば、%~dp0も使えます(例えば dir)。
    • ただ、cmd.exeはUNCをサポートしていないので、ネットワークドライブ上でcd /d %~dp0してもディレクトリ移動できません。(これは%~dp0とは別の話です)

コメントを残す