Możliwe zduplikowanie: za
pomocą polecenia cd w wierszu polecenia systemu Windows nie można przejść do D: \
Za każdym razem, gdy chcę zmienić kontekst katalogu na inny dysk (D, E, F itp.) W wierszu polecenia systemu Windows, muszę go użyć, "Drive letter":\
aby go zmienić. Jeśli spróbuję użyć polecenia „cd”, po cd H:\
prostu wywołaj dla mnie echo H: \ i nic nie rób:
Czy jest jakiś powód takiego zachowania? Mam na myśli, czy nie powinnaś cd command
tego robić? Dlaczego nie
Odpowiedzi:
Próbować:
/d
zmieni także litery dysków, a także katalogi, aby uzyskać więcej informacji, zobaczcd /?
źródło
Windows zachowuje się w ten sposób, ponieważ DOS zachowywał się w ten sposób.
W systemie DOS każdy dysk ma własny katalog bieżący, a
cd
polecenie zmienia katalog bieżący na dysku. Jeśli zdarza się, że jest to bieżący dysk , katalog roboczy zmienia się wraz z nim. Jeśli chcesz zmienić bieżący dysk, po prostu podaj literę dysku jako polecenie.Zauważ, że Windows nie działa już w ten sposób - w danym momencie masz tylko jeden katalog bieżący - ale powłoka poleceń robi wszystko, by udawać, że wciąż istnieją katalogi bieżące na dysk. Przypuszczalnie ma to na celu zachowanie zgodności z istniejącymi plikami wsadowymi DOS.
Powód, dla którego DOS działa w ten sposób, sięga najwcześniejszych wersji DOS i wcześniejszych wersji CP / M. Krwawe szczegóły można znaleźć na blogu Raymonda Chena .
źródło
Prosta odpowiedź brzmi: „ponieważ nie jest napisane, aby działało w ten sposób”. Samo wejście
D:
zrobi to, co chcesz.Ciekawe wpisanie
cd D:\somedir
spowoduje zmianę bieżącego katalogu D: na \ data, ale nie zmieni bieżącego wiersza poleceń na D :.źródło