やりたいこと検索

バッチファイルがある自分自身のパスを取得する

 

目次

 

自分自身のパスを取得する

実行しているバッチファイルが置いてあるフォルダ(ディレクトリ)のパスを取得するには、「%~dp0」を用います。以下、「echo」コマンドで「%~dp0」の中身を確認するバッチファイル(check_dp0.bat)です。

以下、実行結果です。

これを使用すれば、バッチファイルがあるフォルダに移動したい場合は、バッチファイルに、

と記述するだけでよいので、バッチファイル内であちこちフォルダを移動した後、元の場所に戻りたいときによく使用します。

 

少し詳しい解説

「%~dp0」について少し詳しく説明します。「%~dp0」は引数「%~0」にオプションの「d」と「p」がくっ付いたものになります。「%~0」単独では、バッチファイル名を出力します。

バッチファイル(check_0.bat)を作り、以下のコマンドを書き込んで、実行してみましょう。

バッチファイル名が出力されました。

そして「%~0」に「d」を付けて「%~d0」にすると、このバッチファイルが存在するドライブ名を出力します。上記のバッチファイル「check_0.bat」に一行追加して実行してみましょう。

二つ目の「echo」コマンドでドライブ名の「C:」が出力されました。

一方、「p」を付けて、「%~p0」にするとバッチファイルが存在するフォルダ(ディレクトリ)名を出力します。このとき、ドライブ名は出力されません。

 

したがって、「d」と「p」を両方付けて、「%~dp0」とすることで、「ドライブ名」と「フォルダ名」が両方出力され、バッチファイル自身が存在するフォルダ(ディレクトリ)のパスとなるのです。

 

このように、「%0」や「%1~9」には「%」と「数字」の間にオプションとしてアルファベットを挿入することで様々な表示を行えるようになっています。詳しく知りたい方は、「パス名の文字列を自在に切り取る -やりたいことから検索-」をご覧下さい。

Windowsバッチファイル初心者へ向けた入門書を作成しました


Windowsバッチファイル初心者の方へ向けた入門書(PDF)を作成しました。


・初めてWindowsバッチファイルを勉強してみようと思っている方

・使ったことはあるが一から基礎を学び直したい方


へ向けて丁寧な解説を行っています。


「全くプログラムを知らない方でも、この入門書を読んだ後には、Windowsバッチファイルの中級者レベルになれるように」をコンセプトに執筆したものです。


この本を読めば、バッチファイルを使ったファイルやフォルダの操作に関しては一通りのことができるようになります。そうなればもう十分中級者と呼べるレベルですので、あとは自分のやりたいことを実現しようとする中で徐々に知識を蓄えていくだけですぐに上級者へなれるでしょう。


詳しくみる

関連ページ

コメントを残す