1. ホーム
  2. windows

[解決済み] 現在のバッチファイルディレクトリを取得する

2022-03-16 14:27:42

質問

まず、私が見たのは このトピック が、それが理解できなかった。

質問:

にバッチファイルがあります。 D:\path\to\file.bat を以下の内容で作成します。

echo %cd%
pause

出力は:

C:\

でなければなりません。 D:\path\to

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

どうすればいいですか?

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

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

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

CALL %0\..\SecondBatch.cmd

これはサブルーチンの中で使うこともできる。 Echo %0 は呼び出しラベルを与えますが echo "%~nx0" を入力すると、バッチスクリプトのファイル名が表示されます。

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

バッチパラメータの詳細 .