Что означает команда cd/d% ~ dp0 в Windows

Может кто-то, пожалуйста, помогите мне понять команду cd /d %~dp0 и ее цели. Опция команды dos ниже

cd /d %~dp0

Пожалуйста, помогите мне понять его смысл.

Ответ 1

Пусть рассекает это. Есть три части:

  1. cd - это команда изменения каталога.
  2. /d - этот переключатель заставляет cd одновременно менять диск и каталог. Без этого вам придется обойтись cd %~d0 & cd %~p0. (%~d0 Меняет активный диск, cd %~p0 меняет каталог).
  3. %~dp0 - Это можно разделить на три части:
    1. %0 - представляет нулевой параметр вашего пакетного скрипта. Он расширяется до имени самого командного файла.
    2. %~0 - ~ там оборачивает двойные кавычки (") вокруг расширенного аргумента.
    3. %dp0 - В d и p есть модификаторы расширения. d принудительно добавляет букву диска, а p добавляет полный путь.

Ответ 2

~dp0: d = диск, p = путь,% 0 = полный путь\имя этого пакетного файла.

cd /d %~dp0 изменит путь на тот же, где находится пакетный файл.

См. for /? или call / для более подробной информации о модификаторах %~....
Смотрите cd /? о переключателе /d.