Mengapa cd di Windows tidak dapat beralih antar drive? [duplikat]

12

Kemungkinan Gandakan:
Menggunakan cd Command di Windows Command Line, Tidak Dapat Menavigasi ke D: \

Mengapa, mengapa, ada cddi Windows sangat bodoh dan tidak melakukan apa yang seharusnya dilakukan dalam situasi seperti ini:

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

Aku tahu kamu bisa chdir /d. Tetapi mengapa itu bukan perilaku standar?

houbysoft
sumber
@kinokijuf: jangan edit tag jika Anda tidak tahu artinya.
houbysoft
Saya tidak setuju ini duplikat. "Duplikat" bertanya bagaimana , bukan mengapa .
vcsjones

Jawaban:

21

Ini dengan desain. Setiap "drive" memiliki direktori kerjanya sendiri. Anda dapat menggunakan chdir, atau cukup mengetik huruf drive:

> D:

Dan itu akan berubah menjadi drive D. Jika Anda ingin tahu mengapa perilaku ini ada, lihat Penjelasan Raymond Chen

vcsjones
sumber
Seperti yang dikatakan blog s/has/used to have/,, dan cmdshell meniru perilaku ini.
user1686
Pada dasarnya, karena cd adalah direktori perubahan, bukan perubahan drive.
Rob
11

Di windows bisa menggunakan yang asli cd/d <drive>:<path>atau yang lain chdir/datau pushd. Ini adalah /dopsi yang menunjukkan bahwa drive juga harus berubah. The pushdperintah melakukan hal ini secara default.

Bahkan dapat alias cd untuk membuat perilaku default seperti:

doskey cd=chdir/d $*

Kemudian dapat menggunakan melakukan hal-hal seperti:

cd D:\Temp
cd C:\WINDOWS

dan drive akan berubah juga.

Lihat bantuan dengan memasukkan cd/?detail lebih lanjut.

FuzzyWuzzy
sumber
2

Itu hal yang bersejarah. cdhanya mengubah direktori saat ini di drive yang ditentukan (saat ini jika tidak ada), dan <drive>:mengubah drive ke folder di drive yang cdsebelumnya ( \jika tidak ada)

Halo71
sumber
1

beberapa shell pihak ke-3 - seperti 4dos memiliki perintah CDD untuk ini

Anda dapat membuat file batch yang disebut "cdd.bat" di direktori Windows utama Anda dengan baris berikut:

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

Sekarang, Anda dapat melakukan hal berikut dengan perintah CDD baru:

C:> cdd d:

D:> cdd c: \ dokumen dan pengaturan

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

D: \ data>

jet
sumber
Bagaimana dengan@cd /d %*
user1686