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

12

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

Por qué, 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?

houbysoft
fuente
@kinokijuf: no edite las etiquetas si no sabe lo que significan.
houbysoft
No estoy de acuerdo, esto es un duplicado. El "duplicado" pregunta cómo , no por qué .
vcsjones

Respuestas:

21

Esto es por diseño. Cada "unidad" tiene su propio directorio de trabajo. Puede usar chdir, o simplemente puede escribir la letra de la unidad:

> D:

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

vcsjones
fuente
Como dice el blog s/has/used to have/, y el cmdshell emula este comportamiento.
usuario1686
Básicamente, porque cd es cambiar directorio, no cambiar unidad.
Rob
11

En Windows podría utilizar el nativo cd/d <drive>:<path>o de lo contrario chdir/do pushd. Es la /dopción que indica que la unidad también debería cambiar. El pushdcomando hace esto por defecto.

Incluso puede crear un alias de cd para que el comportamiento predeterminado sea el siguiente:

doskey cd=chdir/d $*

Entonces puede usar hacer cosas como:

cd D:\Temp
cd C:\WINDOWS

y la unidad también cambiará.

Consulte la ayuda ingresando cd/?para obtener más detalles.

FuzzyWuzzy
fuente
2

Es una cosa histórica. cdsolo cambia el directorio actual en la unidad especificada (actual si no hay ninguna), y <drive>:cambia las unidades a la carpeta en esa unidad que era cdanterior ( \si no hay ninguna)

Hola71
fuente
1

algunos shells de terceros, como 4dos tiene un 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, puede hacer lo siguiente con el nuevo comando CDD:

C:> cdd d:

D:> cdd c: \ documentos y configuraciones

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

D: \ data>

chorro
fuente
¿Qué tal@cd /d %*
User1686