2005年12月02日

検索ワード %~dp0

アクセス解析を覗いてみました。

いや〜、%~dp0 などというキーワード?とも言えないようなものでヒットしているんですね。結構な数ありましたよ (^^;

ズバリ!、%~dp0 とは




実行ファイルと同一のホルダに設定ファイルなどを置くことって多いですよね。作業ホルダにしたいこともあります。そうすると、起動したバッチファイルが置かれているホルダが取得したい訳ですよね。

%0 には、起動されたバッチファイルのフルパスが格納されていますから、これのドライブ名と、ファイル名を除くパスの部分を取り出せばいいですよね。

ズバリ、このように展開するように指定しているのです。~ (チルダ) を付けて ~d でドライブ名に展開せよっていうこと。~p でファイル名を除くパスの部分に展開せよっていうこと。合わせて ~dp でドライブ名とファイル名を除くパスの部分に展開せよってことなんだ。0 の意味は解かるよね。

簡単に取り出せる記述だから、%~dp0 はよく使うし、ひょっとしたら細かい説明をしているものが少ないのかなぁ〜

じゃないと、こんなブログにまで流れて来ないよね (^^;



追記:

あはは・・・(^^; なんで ~ (チルダ) を付けるの? ってご指摘を頂きました。解からないですよね〜。パスにスペースが含まれているとイタズラするので " (ダブルクォート) で囲みますよね。今度はこのダブルクォートがイタズラするんですね。

例えば、%1 に受け取ったホルダ名をそのまま使用するには問題ありませんが、ファイル名を付加するとどうなるかって〜と、%1"c:¥・・・¥・・・¥" で受け取ったとして

  %1FileName → "c:¥・・・¥・・・¥"FileName

になっちゃいます。ダブルクォートが邪魔ですよね。コレを除いて展開する指定が ~ (チルダ) なんです。

  %~1FileName → c:¥・・・¥・・・¥FileName

になってくれますよ。


応援ポチ  お願いしま〜す。

posted by Woody at 05:38 | 静岡 ☀ | Comment(1) | TrackBack(0) | コマンドプロンプト
この記事へのコメント
こんにちは。
バッチファイルを試行錯誤して作ってるときに、
「実行ファイルと同一のホルダに設定ファイルなどを置」いたので、「起動したバッチファイルが置かれているホルダが取得」したくなって、探していた時に、
%~dp0
という値を見つけ出し、
http://www.fpcu.jp/dosvcmd/bbs/log/chdircd/4-0781.html

「%~dp0」で検索して、この記事に来ました。

MS-DOSのころからコマンドを使ってますが、コマンドも増え、ますます幅広くなって難しくなってきましたね。
Posted by ももお at 2008年12月17日 16:25
コメントを書く
お名前:

メールアドレス:

ホームページアドレス:

コメント:

この記事へのTrackBack URL
http://blog.seesaa.jp/tb/10084212
※特に許可した場合を除き、一方的な TrackBack は
  SPAM として削除いたします。ご了承ください。
×

この広告は1年以上新しい記事の投稿がないブログに表示されております。