207

Это может быть глупый вопрос, и я думаю, что я искал ответ в другом месте ... Может быть проблема с путем, но когда я открываю командную строку и печатаю из C:\>:

cd D:\

Я не могу добраться до D диск. Даже если я наберу:

cd D:\<folder name>

command.exe автоматически завершит строку с помощью клавиши табуляции, чтобы он знал, где я нахожусь. Это просто не печатает, чтобы показать результат или фактически получить меня там. Эта проблема существует и для сетевых дисков.

Теперь, если я использую команду chdir (cd) следующим образом:

chdir D: или cd d:

Я получаю распечатку из D:\ ниже команды, но она все еще говорит, что я в C:\ .

Я чувствую, что упускаю что-то простое.

9 ответов9

298

Возвращаясь ко временам DOS, для каждого диска есть отдельный "текущий каталог". cd D:\foldername изменяет текущий каталог D: на указанное имя Foldername, но не меняет того факта, что вы все еще работаете на диске C: .

То, что вы хотите, это просто:

D:

Здесь вы можете увидеть, как работает "отдельный текущий каталог для каждого диска":

C:\Users\coneslayer>e:

E:\>c:

C:\Users\coneslayer>cd e:\software

C:\Users\coneslayer>e:

e:\Software>
75

Он сделал работу, так как команда предназначена для работы.

Вы просто не знаете, как это на самом деле должно работать.

Вы не используете оболочку 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.
48

Боюсь, это неправильно. Это правда со времен DOS, но командная строка в Windows NT и более поздних версиях не DOS. В командной строке, которую все используют сегодня, у вас есть ключ /D. Ключ /d изменит текущий каталог указанного диска и перейдет в этот каталог. Ключ /d должен быть указан до пути. Например:

C:\> cd /d D:\foo\bar\
D:\foo\bar\>

командная строка windows cd

20

Компакт-диск обозначает C- каталог D , а не Change Drive. Так что это не изменится на D: вот так. Для этого вам нужно просто ввести букву диска

например

д:

9

Рабочий каталог в cmd.exe поддерживается по volume-by-volume ; рабочий каталог для диска C: отличается от рабочего каталога для диска D: .

Когда вы передадите только cd букву диска , он распечатает рабочий каталог для указанного диска.

В вашем случае рабочим каталогом диска D: является сам корень тома, D:\ .

Чтобы изменить громкость с C: на D: просто введите букву диска:

C:\>D:
D:\>
8

Используйте cd / DD: для этого. Вы также можете указать пути.

5

Если вы хотите изменить диск в командной строке DOS, вам просто нужно написать:

[Drive Letter]:

Например, если вы хотите перейти на диск D:\, вам просто нужно ввести в командной строке следующее:

D:
2

pushd работает, даже когда вам нужно перейти в подкаталог диска, например, D:\Tests\Logs .

Просто используйте это так:

pushd D:\Tests\Logs

Если вы хотите вернуться в предыдущий каталог, используйте popd:

C:\Users>pushd D:\Tests\Logs
D:\Tests\Logs>popd
C:\Users>
0

При переходе к параметру поиска на панели инструментов и поиску cmd или выбрав в Windows All приложение, выбрав командную строку, он перейдет в другую командную строку. Вместо этого попробуйте нажать кнопку Windows + R и найти cmd, который требуется для диска C:>. Оттуда вы можете перейти к D:> или где вам нужно

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .