誰かがコマンドcd /d %~dp0
とその目的を理解するのを手伝ってください。再びdosコマンドは以下です
cd /d %~dp0
その意味を理解するのを手伝ってください。
それを分析しましょう。 3つの部分があります。
cd
-これはディレクトリ変更コマンドです。/d
-このスイッチにより、cd
がドライブとディレクトリの両方を一度に変更します。それなしでは、cd %~d0 & cd %~p0
を実行する必要があります。%~dp0
-これはさらに3つの部分に分解できます。%0
-これは、バッチスクリプトの0番目のパラメーターを表します。バッチファイル自体の名前に展開されます。%~0
-そこにある~
は、展開された引数を二重引用符("
)で取り除きます。%dp0
-d
およびp
には、展開の修飾子があります。 d
はドライブ文字の追加を強制し、p
は完全なパスを追加します。〜dp0:d = drive、p = path、%0 =このバッチファイルの開始ディレクトリcd /d %~dp0
は、パスをバッチファイルが存在する同じパスに変更します
詳細については、for /?
を参照してください