Может кто-то, пожалуйста, помогите мне понять команду cd /d %~dp0
и ее цели. Опция команды dos ниже
cd /d %~dp0
Пожалуйста, помогите мне понять его смысл.
Может кто-то, пожалуйста, помогите мне понять команду cd /d %~dp0
и ее цели. Опция команды dos ниже
cd /d %~dp0
Пожалуйста, помогите мне понять его смысл.
Пусть рассекает это. Есть три части:
cd
- это команда изменения каталога./d
- этот переключатель заставляет cd
одновременно менять диск и каталог. Без этого вам придется обойтись cd %~d0 & cd %~p0
. (%~d0
Меняет активный диск, cd %~p0
меняет каталог).%~dp0
- Это можно разделить на три части:
%0
- представляет нулевой параметр вашего пакетного скрипта. Он расширяется до имени самого командного файла.%~0
- ~
там оборачивает двойные кавычки ("
) вокруг расширенного аргумента.%dp0
- В d
и p
есть модификаторы расширения. d
принудительно добавляет букву диска, а p
добавляет полный путь.~dp0
: d = диск, p = путь,% 0 = полный путь\имя этого пакетного файла.
cd /d %~dp0
изменит путь на тот же, где находится пакетный файл.
См. for /?
или call /
для более подробной информации о модификаторах %~...
.
Смотрите cd /?
о переключателе /d
.