Он сделал работу, так как команда предназначена для работы.
Вы просто не знаете, как это на самом деле должно работать.
Вы не используете оболочку Unix или Linux. Команда cd
в интерпретаторе команд Microsoft не ведет себя так, как команды cd
в таких оболочках. Это ведет себя несколько иначе. В частности, он не всегда меняет каталог. В оболочках Unix и Linux cd
только устанавливает рабочий каталог. В интерпретаторе команд Microsoft cd
иногда запрашивает его. Отдельной команды pwd
, поэтому cd
выполняет две работы.
Если вы не укажете ему аргументы или аргумент, представляющий собой просто букву диска и двоеточие без пути, то он сообщит о текущем каталоге вместо его изменения. Если вы не укажете аргументы, он сообщит о текущем каталоге текущего диска процесса интерпретатора команд. Если в качестве аргумента вы указываете только букву диска и двоеточие, он сообщает текущий каталог процесса интерпретатора команд этого диска. Каждый диск имеет свой текущий каталог в интерпретаторе команд. (Это вымысел, поддерживаемый библиотеками времени выполнения для реализаций Microsoft и нескольких других поставщиков различных языков программирования. Сам Win32 не работает таким образом.)
Поэтому, когда вы указали в качестве аргумента d:
он сообщил вам о текущем каталоге процесса интерпретатора команд на диске D, который оказался D:\
. Если бы вы не дали ему никаких аргументов, он бы сообщил вам о C:\
.
Если вы хотите, чтобы команда cd
всегда находилась в режиме установки и никогда не находилась в режиме запросов, вам нужно добавить в нее параметр /D
Это вынуждает команду всегда находиться в режиме установки, а также расширяет ее, чтобы она изменяла текущий диск, а также изменяла текущий каталог диска. (Другими словами, он работает больше, чем базовый Win32 API.)
Так, например, командная строка
cd /d d:
изменит каталог на любой текущий каталог на диске D, а также заменит текущий диск на диск D.
Если вы хотите изменить текущий диск процесса интерпретатора команд, команда cd
не подходит. Вы делаете это, просто набирая букву диска и двоеточие:
d:
дальнейшее чтение
- JP Software (2011). CD/CHDIR TCC Онлайн-справка.
- Корпорация Microsoft (2001). Чдир (CD). TechNet Windows XP Справочник по командной строке A – Z.