Perché "cd D:" non modifica il contesto del comando in D :? [duplicare]


19

Possibile duplicato:
utilizzando il comando cd nella riga di comando di Windows, non è possibile passare a D: \

Ogni volta che voglio cambiare il contesto della directory su un'altra unità (D, E, F o altro ..) su un prompt dei comandi di Windows, devo usare il "Drive letter":\comando per cambiarlo effettivamente. Se provo con "cd command" su di cd H:\esso, echo solo H: \ per me e non faccio nulla:

Inserisci qui la descrizione dell'immagine

C'è qualche motivo per un simile comportamento? Voglio dire, non dovresti cd commandlavorare per farlo? Perché no?


Risposte:


28

Provare:

cd /d d:

/d cambierà anche le lettere di unità e le directory, per altre informazioni, vedere cd /?


1
Sembra che cmd.exe imiti abbastanza bene il comportamento di DOS in questa situazione, per cui la "directory corrente" per ogni unità viene ricordata distintamente.
LawrenceC

4
Questa è la vera risposta al "perché le vedove lavorano in questo modo": perché DOS ha fatto così.
KutuluMike

12

Il motivo per cui Windows si comporta in questo modo è perché DOS si è comportato in questo modo.

In DOS, ogni unità ha la propria directory corrente e il cdcomando modifica la directory corrente su un'unità. Se anche questa è l' unità corrente , la directory di lavoro cambia insieme ad essa. Se si desidera modificare l'unità corrente, è sufficiente specificare la lettera di unità come comando.

Nota che Windows in realtà non funziona più in questo modo - hai solo una directory corrente in qualsiasi momento - ma la shell dei comandi fa di tutto per fingere che ci siano ancora directory correnti per unità. Presumibilmente ciò serve a preservare la compatibilità con i file batch DOS esistenti.

Il motivo per cui DOS funziona in questo modo risale alle primissime versioni di DOS e CP / M prima di esso. I dettagli cruenti possono essere trovati sul blog di Raymond Chen .


6

La risposta diretta è che "perché non è scritto per funzionare in quel modo". Basta entrare D:farà quello che vuoi.

L'inserimento curioso cd D:\somedir, infatti, cambierà la directory corrente su D: in \ data, ma non cambierà il prompt dei comandi corrente in D :.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.