¿Por qué el cd en Windows no puede cambiar entre unidades?

¿Por qué el cd en Windows no puede cambiar entre unidades?

Posible duplicado:
Usando el comando cd en la línea de comandos de Windows, no puedo navegar a D:\

Por qué, simplemente por qué, es cdtan estúpido en Windows y no hace lo que se supone que debe hacer en situaciones como esta:

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

Sé que puedes chdir /d. Pero ¿por qué ese no es el comportamiento predeterminado?

Respuesta1

Esto es por diseño. Cada "unidad" tiene su propio directorio de trabajo. Puede utilizar chdiro simplemente escribir la letra de la unidad:

> D:

Y eso cambiará a la unidad D. Si desea saber por qué existe este comportamiento, consulteLa explicación de Raymond Chen

Respuesta2

En windows se podría usar el nativocd/d <drive>:<path>si nochdir/dopushd. Es el/dopción que indica que la unidad también debe cambiar. ElpushdEl comando hace esto de forma predeterminada.

Incluso puede crear un alias cd para que ese sea el comportamiento predeterminado, así:

doskey cd=chdir/d $*

Entonces puedo usar hacer cosas como:

cd D:\Temp
cd C:\WINDOWS

y la unidad también cambiará.

Ver la ayuda entrandocd/?para más detalles.

Respuesta3

Es algo histórico. cdsolo cambia el directorio actual en la unidad especificada (actual si no hay ninguna) y <drive>:cambia las unidades a la carpetaen ese discoque se hizo cdantes ( \si no hay ninguno)

Respuesta4

algunos shells de terceros, como 4dos, tiene el comando CDD para esto

Puede crear un archivo por lotes llamado "cdd.bat" en su directorio principal de Windows con la siguiente línea:

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

Ahora puedes hacer lo siguiente con el nuevo comando CDD:

C:>cddd:

D:>cdd c:\documentos y configuraciones

C:\Documentos y configuraciones>cdd d:\data

D:\datos>

información relacionada