Есть ли причина разделять команды "cd" в Windows? - PullRequest
2 голосов
/ 28 февраля 2012

Я убираю некоторые старые командные файлы Windows на работе и продолжаю видеть строки вроде этого:

D:
cd\
cd some\other\path\

есть ли какая-либо причина (совместимость с command.com, может быть?), Чтобы не просто написать этокак

cd /d d:\some\other\path\

1 Ответ

4 голосов
/ 28 февраля 2012

cd фактически не меняет рабочий диск;он изменяет только рабочий каталог для этого диска.Вот почему это так распалось.

Пример может помочь:

C:\users\david>cd D:\some\path
C:\users\david>

Обратите внимание, что диск не изменился.

C:\users\david>D:
D:\some\path>

Теперь, когда D: «рабочий диск», рабочийКаталог будет изменен на тот, который вы указали ранее.

Как вы указали, cd /d сделает оба.[ОБНОВЛЕНИЕ: Я, должно быть, пропустил /d при чтении вашего оригинального сообщения :( - извините]

Я считаю, что вы правы - нет «веской» причины не использовать однострочник -- кроме совместимости с COMMAND.COM (который, я уверен, не поддерживает переключатель /d). По этой причине я всегда создаю файлы сценариев с расширением .cmd, если они зависят от функций, не поддерживаемых вCOMMAND.COM.

Лучшей альтернативой IMHO является использование pushd, которое ведет себя подобно cd /d - и также дает вам возможность вернуться туда, где вы были раньше (через popd).может даже pushd на UNC-путь (\\server\share) и Windows создаст для вас временную букву диска (хотя я обнаружил эту функцию только сегодня утром, и у меня работает Win 7 Pro, поэтому я не уверенесли он доступен в более старых версиях и / или в домашних версиях.)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...