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