Почему cd в Windows не может переключаться между дисками?

Почему cd в Windows не может переключаться между дисками?

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

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

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

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

решение1

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

> D:

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

решение2

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

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

doskey cd=chdir/d $*

Затем можно использовать такие вещи, как:

cd D:\Temp
cd C:\WINDOWS

и привод тоже изменится.

Чтобы просмотреть справку, введитеcd/?Больше подробностей.

решение3

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

решение4

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

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

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

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

C:>cdd d:

D:>cdd c:\documents and settings

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

D:\data>

Связанный контент