Dlaczego cd w systemie Windows nie może przełączać się między dyskami? [duplikować]

12

Możliwe zduplikowanie: za
pomocą polecenia cd w wierszu polecenia systemu Windows nie można przejść do D: \

Dlaczego, po prostu dlaczego, jest cdw systemie Windows tak głupi i nie robi tego, co powinien robić w takich sytuacjach:

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

Wiem, że możesz chdir /d. Ale dlaczego nie jest to zachowanie domyślne?

houbysoft
źródło
@kinokijuf: nie edytuj tagów, jeśli nie wiesz, co one oznaczają.
houbysoft
Nie zgadzam się, że to duplikat. „Duplikat” pyta, jak , a nie dlaczego .
vcsjones

Odpowiedzi:

21

To jest z założenia. Każdy „dysk” ma własny katalog roboczy. Możesz użyć chdirlub po prostu wpisać literę dysku:

> D:

A to zmieni się na dysk D. Jeśli chcesz wiedzieć, dlaczego takie zachowanie istnieje, zobacz Wyjaśnienie Raymonda Chena

vcsjones
źródło
Jak mówi blog s/has/used to have/, a cmdpowłoka naśladuje to zachowanie.
user1686,
Zasadniczo, ponieważ cd to zmiana katalogu, a nie zmiana napędu.
Rob
11

W systemie Windows można użyć natywnego cd/d <drive>:<path>lub innego chdir/dlub pushd. Jest to /dopcja wskazująca, że ​​dysk również powinien się zmienić. pushdKomenda robi to domyślnie.

Może nawet alias cd, aby domyślne zachowanie wyglądało tak:

doskey cd=chdir/d $*

Następnie można użyć takich rzeczy jak:

cd D:\Temp
cd C:\WINDOWS

i dysk również się zmieni.

Zobacz pomoc, wprowadzając cd/?więcej szczegółów.

FuzzyWuzzy
źródło
2

To rzecz historyczna. cdzmienia tylko bieżący katalog na określonym dysku (bieżący, jeśli nie ma go) i <drive>:zmienia dyski na folder na tym dysku, który był cdwcześniejszy ( \jeśli nie ma)

Cześć71
źródło
1

niektóre powłoki innych firm - jak 4dos, ma do tego komendę CDD

Możesz utworzyć plik wsadowy o nazwie „cdd.bat” w głównym katalogu Windows za pomocą następującego wiersza:

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

Teraz możesz wykonać następujące czynności za pomocą nowego polecenia CDD:

C:> cdd d:

D:> cdd c: \ dokumenty i ustawienia

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

D: \ data>

strumień
źródło
Co powiesz na@cd /d %*
user1686,