Мне нужна помощь в написании командного файла. У меня есть путь, хранящийся в переменной root следующим образом:
set root=D:\Work\Root
Затем я меняю свой рабочий каталог на этот корень следующим образом:
cd %root%
Когда я запускаю этот командный файл из любого места на диске D, это выполняется успешно. Но когда я выполняю тот же командный файл с другого диска, cd% root% не работает.
Есть ли способ получить букву диска из корневой переменной? Затем я могу сначала изменить текущий каталог на этот диск, и тогда cd% root% будет работать.
\d
(в нижнем регистре) есть ли разница между ними? Параметр просто нечувствителен к регистру?/D
указано выше, нечувствительны к регистру (/D
=/d
), как и сами команды (CD
=cd
). Я считаю, что это также верно для всех внешних утилит командной строки Windows (напримерFINDSTR
,SORT
и т. Д.). Сторонние инструменты, с другой стороны, могут использовать параметры с учетом регистра.set "root=/d D:\Work\Root"
иcd %root%
или дажеset "root=cd /d D:\Work\Root"
просто%root%
Просто используйте
cd /d %root%
для переключения букв драйвера и смены каталогов.В качестве альтернативы используйте
pushd %root%
для переключения букв дисков при смене каталогов, а также для сохранения предыдущего каталога в стеке, чтобы вы могли использовать егоpopd
для обратного переключения.Обратите внимание, что
pushd
это также позволит вам изменить каталоги на общий сетевой ресурс. Он фактически подключит для вас сетевой диск, а затем отключит его, когда вы выполнитеpopd
для этого каталога.источник
Попробуй это
Наслаждайтесь рутированием;)
источник
Более простой синтаксис мог бы быть
pushd% root%
источник