web-dev-qa-db-ja.com

Windowsのコマンドcd / d%〜dp0の意味

誰かがコマンドcd /d %~dp0とその目的を理解するのを手伝ってください。再びdosコマンドは以下です

cd /d %~dp0

その意味を理解するのを手伝ってください。

64
Indranil Sarkar

それを分析しましょう。 3つの部分があります。

  1. cd-これはディレクトリ変更コマンドです。
  2. /d-このスイッチにより、cdがドライブとディレクトリの両方を一度に変更します。それなしでは、cd %~d0 & cd %~p0を実行する必要があります。
  3. %~dp0-これはさらに3つの部分に分解できます。
    1. %0-これは、バッチスクリプトの0番目のパラメーターを表します。バッチファイル自体の名前に展開されます。
    2. %~0-そこにある~は、展開された引数を二重引用符(")で取り除きます。
    3. %dp0-dおよびpには、展開の修飾子があります。 dはドライブ文字の追加を強制し、pは完全なパスを追加します。
101
wilx

〜dp0:d = drive、p = path、%0 =このバッチファイルの開始ディレクトリcd /d %~dp0は、パスをバッチファイルが存在する同じパスに変更します

詳細については、for /?を参照してください

24
Stephan