バッチファイルのカレントディレクトリを取得する

スポンサーリンク

ちょっとした処理を自動化するのにとっても便利なバッチファイル。でも、たまにしか使わないので、細かいテクはすぐ忘れてしまうんですよね。

今回は、実行するバッチファイルのディレクトリを取得する方法をメモ。

スポンサーリンク

バッチファイルが存在しているディレクトリを取得

環境変数「%~dp0」がバッチファイルが存在しているディレクトリになります。

C:\> type D:\tmp\test.bat
echo %~dp0

C:\> D:\tmp\test.bat
D:\tmp\

バッチファイル配下のファイルなんかをコピーしたい時に役立ちそうです。

C:\> type D:\tmp\filecopy.bat
copy %~dp0sourcedir\* E:\destdir

この例では、バッチファイルと同じフォルダにあるsourcedir内のファイルをE:destdirにコピーします。

コピー元をD:\tmpと絶対表記で書かない分、汎用性が出てきますね。

バッチファイルが実行しているディレクトリを取得

バッチファイルが実行されているディレクトリ(カレントディレクトリ)を取得する方法です。

環境変数「%CD%」がバッチファイルが現在実行されているディレクトリになります。

C:\> type D:\tmp\test2.bat
echo %CD%

C:\> D:\tmp\test2.bat
C:\

正確な意味では、こちらが「カレントディレクトリ」になります。

スポンサーリンク

シェアする

  • このエントリーをはてなブックマークに追加

フォローする