現在のバッチファイルディレクトリを取得する 質問する

現在のバッチファイルディレクトリを取得する 質問する

まず、私はこのトピックしかし、私はそれを理解できませんでした。

質問 :

D:\path\to\file.bat次の内容のバッチ ファイルがあります。

echo %cd%
pause

出力は次のようになります:

C:\

それは違いないD:\path\to

何が間違っているのでしょうか?

ベストアンサー1

システムの読み取り専用変数は、%CD%バッチ ファイルの場所ではなく、バッチの呼び出し元のパスを保持します。

ユーザーが入力したバッチ スクリプト自体の名前は、%0(例scripts\mybatch.bat) を使用して取得できます。パラメータ拡張これに を適用して、%~dp0バッチ スクリプトへのドライブとパス (例W:\scripts\) を返し、%~f0完全なパス名 (例 ) を返しますW:\scripts\mybatch.cmd

次の構文を使用すると、バッチ スクリプトと同じフォルダー内の他のファイルを参照できます。

CALL %0\..\SecondBatch.cmd

これはサブルーチンでも使用でき、Echo %0呼び出しラベルが与えられますが、echo "%~nx0"バッチ スクリプトのファイル名も与えられます。

変数が展開されると%0、結果は引用符で囲まれます。

バッチパラメータの詳細

おすすめ記事