Как изменить текущий рабочий каталог, используя командный файл - PullRequest
92 голосов
/ 28 февраля 2011

Мне нужна помощь в написании командного файла. У меня есть путь, хранящийся в переменной корня следующим образом:

set root=D:\Work\Root

Затем я меняю свой рабочий каталог на этот корень следующим образом:

cd %root%

Когда я запускаю этот командный файл из любого места на диске D, это делается успешно. Но когда я запускаю тот же пакетный файл с другого диска, cd% root% не работает.

Есть ли способ получить букву диска из корневой переменной? Затем я могу изменить текущий каталог на этот диск, а затем cd% root% будет работать.

Ответы [ 4 ]

141 голосов
/ 28 февраля 2011

Укажите /D, чтобы также изменить привод.

CD /D %root%
39 голосов
/ 28 февраля 2011

Просто используйте cd /d %root% для переключения букв драйверов и смены каталогов.

В качестве альтернативы, используйте pushd %root% для переключения букв дисков при смене каталогов, а также для сохранения предыдущего каталога в стеке, чтобы вы могли использовать popd для переключения назад.

Обратите внимание, что pushd также позволит вам изменить каталоги на сетевой ресурс. Он на самом деле отобразит сетевой диск для вас, а затем разархивирует его, когда вы выполните popd для этого каталога.

22 голосов
/ 12 сентября 2014

Попробуйте это

chdir /d D:\Work\Root

Наслаждайся рутом;)

0 голосов
/ 15 июля 2019

Более простой синтаксис может быть

pushd% root%

...