
Возможный дубликат:
Используя команду cd в командной строке Windows, не удается перейти на D:\
Каждый раз, когда я хочу изменить контекст каталога на другой диск (D, E, F или что-то еще...) в командной строке Windows, я должен использовать "Drive letter":\
команду, чтобы фактически изменить его. Если я попробую с"команда cd"на cd H:\
нем просто выведите H:\ и ничего не делайте:
Есть ли какая-то причина для такого поведения? Я имею в виду, не должно cd command
работать так делать? Почему не работает?
решение1
Пытаться:
cd /d d:
/d
также поменяет буквы дисков и каталоги, для получения дополнительной информации см.cd /?
решение2
Причина, по которой Windows ведет себя таким образом, заключается в том, что DOS ведет себя таким образом.
В DOS каждый диск имеет свой текущий каталог, и cd
команда изменяет текущий каталог на диске. Если это также текущий каталогводить машину, то ваш рабочий каталог изменится вместе с ним. Если вы хотите изменить текущий диск, вы просто указываете букву диска как команду.
Заметки, что Windows на самом деле неработабольше так -- у вас есть только один текущий каталог в любой момент времени -- но командная оболочка делает все возможное, чтобы сделать вид, что все еще есть текущие каталоги на диске. Предположительно, это сделано для сохранения совместимости с существующими пакетными файлами DOS.
Причина, по которой DOS работает таким образом, восходит к самым ранним версиям DOS, а до этого — к CP/M. Кровавые подробности можно найти наБлог Рэймонда Чена.
решение3
Прямой ответ: "потому что так не написано". Простой ввод D:
сделает то, что вам нужно.
Любопытно cd D:\somedir
, что ввод фактически изменит текущий каталог на диске D: на \data, но не изменит текущую командную строку на D:.