`cd` non cambia directory in Windows 7 [duplicato]


20

Possibile duplicato:
utilizzando il comando cd nella riga di comando di Windows, non è possibile passare al cd D: \
CMD su altre unità tranne C: \ non funzionante

Sto lavorando con cmd.exesu Windows 7 (al contrario di Powershell). Ho 2 partizioni sul mio disco, C contiene il sistema operativo e i programmi installati e D contiene i miei dati. Stavo provando cdda C a D, ma cmd non mi permetteva:

C:\>cd D:\

C:\>

Tuttavia, quando scrivo dir D:\, elencherà correttamente il contenuto di D. Perché lo fa e come posso ripararlo? Powershell funziona bene, quindi posso usarlo, ma vorrei sapere cosa fa cmdcomportare male.


Qualcuno potrebbe creare un tag msdos? Penso che questa domanda sia valida per tutte le versioni di DOS dalla 1.0 in poi. Se ricordo bene CP / M non aveva questo concetto ma potevi indirizzare le unità separate anteponendo il driveletter: al nome del file. Penso che questo sia importante in quanto questa è una domanda valida per qualcuno che non ha vissuto l'era del DOS e non una domanda di Windows 7 in quanto tale.
Stuart Woodward,

@StuartWoodward in realtà DOS 1.0 non aveva sottodirectory: sono state introdotte in 2.0.
Jesse Slicer,

Risposte:


33

Devi usare solo d: , noncd d:\

EDIT: è anche possibile usare cd /d d:per cambiare unità usando cd


Non sono davvero sicuro del perché abbia preso quella decisione progettuale, e la sto cercando, ma è sempre stato così.
soandos,

@ astay13 vedi modifica.
Soandos,

1
@soandos cdsta per "cambia directory" ed D:è un'unità, non una directory. Vedi la risposta di David per maggiori dettagli
Izkata,

@Izkata perché non puoi passare a una directory su un'unità diversa usando la stessa sintassi usata per andare in una cartella diversa? questo è quello che stavo dicendo.
soandos,

Cambia la directory: es: C: \> cd D: \ test, cambia la directory corrente sul disco D: per testare, ma il prompt è ancora su C:
Sebastian Godelet,

28

Windows tiene traccia di una directory di lavoro separata per ogni unità. Attualmente sei sull'unità "C" nella directory di lavoro "\". Quando si digita cd d:\, cambia la directory di lavoro per l'unità 'D' in '\' e non ha alcun effetto sulla directory di lavoro dell'unità C. Per cambiare unità, basta digitare D:. È possibile modificare entrambi contemporaneamente con il /dparametro su cd.


3
In realtà, Windows che l'interrogante afferma che xe è in esecuzione - Windows NT 6.1 - non ha mai - non dal 1993 - una directory di lavoro separata per ogni unità. Esiste una directory di lavoro per processo. L' aspetto di più directory di lavoro su più unità è una finzione gestita dall'interprete dei comandi di Microsoft e dalle librerie di runtime dei suoi linguaggi, utilizzando variabili di ambiente nascoste.
JdeBP,


@JdeBP Variabili d'ambiente nascoste che tracciano una directory di lavoro separata per ogni unità? E l'interprete dei comandi di Microsoft e le librerie di runtime delle sue lingue fanno parte di Windows?
David Schwartz,

1

Va notato che pushd(ad esempio pushd D:\) cambierà sempre le unità.


Questo sarebbe meraviglioso come un commento alla domanda ma non risponde alla domanda.
Stuart Woodward,
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.