Почему компакт-диск в Windows не может переключаться между дисками? [Дубликат]

12

Возможное дублирование:
используя команду cd в командной строке Windows, невозможно перейти к D: \

Почему, просто почему cdв Windows такая глупость, и она не делает то, что должна делать в таких ситуациях:

I:\Documents and Settings\blah\>cd C:\somedir\
I:\Documents and Settings\blah\>

Я знаю, ты можешь chdir /d. Но почему это не поведение по умолчанию?

houbysoft
источник
@kinokijuf: не редактируйте теги, если не знаете, что они означают.
Houbysoft
Я не согласен, что это дубликат. «Дубликат» спрашивает, как , а не почему .
vcsjones

Ответы:

21

Это по замыслу. Каждый «диск» имеет свой рабочий каталог. Вы можете использовать chdir, или вы можете просто ввести букву диска:

> D:

И это изменится на диск D. Если вы хотите узнать, почему существует такое поведение, см . Объяснение Рэймонда Чена.

vcsjones
источник
Как говорится в блоге s/has/used to have/, и cmdоболочка эмулирует это поведение.
user1686 26.12.10
В основном, потому что CD - это смена каталога, а не смена диска.
Роб
11

В windows можно использовать родную cd/d <drive>:<path>или еще chdir/dили pushd. Это /dопция, которая указывает, что диск также должен измениться. Команда pushdделает это по умолчанию.

Может даже псевдоним cd сделать так, чтобы поведение по умолчанию было примерно таким:

doskey cd=chdir/d $*

Тогда можете использовать такие вещи, как:

cd D:\Temp
cd C:\WINDOWS

и диск также изменится.

Смотрите помощь, введя cd/?для более подробной информации.

FuzzyWuzzy
источник
2

Это историческая вещь. cdизменяет только текущий каталог на указанном диске (текущий, если его нет) и <drive>:заменяет диски на папку на этом диске, которая была cdранее ( \если ее нет)

Hello71
источник
1

некоторые сторонние оболочки - например, 4dos имеет команду CDD для этого

Вы можете создать пакетный файл с именем "cdd.bat" в вашем основном каталоге Windows со следующей строкой:

@cd /d %1 %2 %3 %4 %5 %6 %7 %8 %9

Теперь вы можете сделать следующее с помощью новой команды CDD:

C:> CDD D:

D:> cdd c: \ документы и настройки

C: \ Documents and Settings> cdd d: \ data

D: \ данные>

реактивный самолет
источник
Как насчет@cd /d %*
user1686 26.12.10