バッチファイル自身の場所を取得する

実行しているバッチファイル自体のパスはこのよう表します。ちなみに%1や%2は起動時の引数を表します。

%0

"%"と"0"の間に文字を挟むことでパスの一部分のみを取り出せます。

コード結果
%D0ドライブ (例:C:)
%P0パス (例:\temp\)
%N0名前 (例:sample)
%X0拡張子 (例:.cmd)
C:\temp\sample.batの場合

パスに空白が入っている場合は""で括られるので、意図しない動作をしてしまう場合は間に"~"(チルダ)を入れます。またこれらを組み合わせることも出来ます。

コード結果
%0"C:\Documents and Settings\sample.cmd"
%DP0DP0(~が無いので展開されない)
%~DP0C:\Documents and Settings\
%~DPN0C:\Documents and Settings\sample
%~NX0sample.cmd
C:\Documents and Settings\sample.cmdの場合

 バッチファイルと同じ場所に拡張子を変えたログファイルを作りたいとき等に利用します。

echo ログメッセージ>"%~DPN0.log"

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です