2013-04-04 12 views

答えて

23

で、現在のディレクトリからドライブ文字を取得します〜DP0

%cd:~0,2% 

%はバットでかなり便利です:それは実行batファイルが存在するフォルダです。おそらく、あなたのスクリプトの先頭に

は、ような何か:

set _SCRIPT_DRIVE=%~d0 
set _SCRIPT_PATH=%~p0 

をして、デバッグにそれをエコーし​​ます。 %〜d0はあなたが望むものを与えるはずですが、私が言及した他のオプションがチャレンジを解決するのに役立つかもしれません。

+1

あなたは_executing_からのパスを%cd%与えませんか?実際のバッチファイルのパスを取得するのは完全に不正確です。たとえば、Windows XPには奇妙なバグがあるようです。ファイルをプログラム/スクリプトにドラッグアンドドロップして、そのファイルをプログラムの引数として実行すると、プログラムは不思議なことにc:\ Documents and Settingsから起動します自分のフォルダではなく\\(username)ディレクトリに移動します。 – Nyerguds

+1

XPから変更されているようですが、Win7ではパラメータファイルのパスから実行されているようです...まだ間違っています。 – Nyerguds

0

あなたは/現在の作業ディレクトリを取得するために%~dp0を使用することができます。

%~d0 
関連する問題