`cd` no cambia el directorio en Windows 7 [duplicado]

20

Posible duplicado:
usando el comando cd en la línea de comandos de Windows, no se puede navegar a D: \
CMD cd a otras unidades, excepto C: \ no funciona

Estoy trabajando con cmd.exeWindows 7 (a diferencia de Powershell). Tengo 2 particiones en mi disco, C contiene el sistema operativo y los programas instalados, y D contiene mis datos. Intentaba cdpasar de C a D, pero cmd no me permitía:

C:\>cd D:\

C:\>

Sin embargo, cuando escribo dir D:\, enumerará los contenidos de D correctamente. ¿Por qué hace esto y cómo puedo solucionarlo? Powershell funciona bien, así que puedo usar eso, pero me gustaría saber qué hace que se cmdporten mal.

astay13
fuente
¿Alguien podría hacer una etiqueta msdos? Creo que esta pregunta es válida para todas las versiones de DOS desde la 1.0 en adelante. Si recuerdo correctamente, CP / M no tenía este concepto, pero podría direccionar las unidades separadas anteponiendo el boletín: al nombre del archivo. Creo que esto es importante ya que es una pregunta válida para alguien que no vivió la era de DOS y no una pregunta de Windows 7 como tal.
Stuart Woodward
@StuartWoodward en realidad DOS 1.0 no tenía subdirectorios, se introdujeron en 2.0.
Jesse Slicer

Respuestas:

33

Tienes que usar solo d: , nocd d:\

EDITAR: también es posible usar cd /d d:para cambiar unidades usando cd

soandos
fuente
No estoy realmente seguro de por qué tomó esa decisión de diseño, y lo estoy buscando, pero así es como siempre ha sido.
soandos
@ astay13 ver editar.
soandos
1
@soandos cdsignifica "cambiar directorio" y D:es una unidad, no un directorio. Vea la respuesta de David para más detalles
Izkata,
@Izkata, ¿por qué no puede cambiar a un directorio en una unidad diferente usando la misma sintaxis utilizada para ir a una carpeta diferente? Eso es lo que estaba diciendo.
soandos
Cambia el directorio: por ejemplo: C: \> cd D: \ test, cambia el directorio actual en el disco D: para probar, pero el mensaje todavía está en C:
Sebastian Godelet
28

Windows rastrea un directorio de trabajo separado para cada unidad. Actualmente está en la unidad 'C' en el directorio de trabajo '\'. Cuando escribe cd d:\, cambia el directorio de trabajo de la unidad 'D' a '\' y no tiene ningún efecto en el directorio de trabajo de la unidad C. Para cambiar las unidades, simplemente escriba D:. Puede cambiar ambos al mismo tiempo con el /dparámetro a cd.

David Schwartz
fuente
3
En realidad, el Windows que el interrogador dice que xe está ejecutando, Windows NT 6.1, nunca ha tenido , desde 1993, un directorio de trabajo separado para cada unidad. Hay un directorio de trabajo por proceso. La aparición de múltiples directorios de trabajo en múltiples unidades es una ficción mantenida por el intérprete de comandos de Microsoft y las bibliotecas de tiempo de ejecución de sus idiomas, utilizando variables de entorno ocultas.
JdeBP
@JdeBP ¿Variables de entorno ocultas que rastrean un directorio de trabajo separado para cada unidad? ¿Y el intérprete de comandos de Microsoft y las bibliotecas de tiempo de ejecución de sus idiomas son parte de Windows?
David Schwartz
1

Cabe señalar que pushd(por ejemplo pushd D:\) siempre cambiará las unidades.

bobbymcr
fuente
Esto sería maravilloso como un comentario a la pregunta, pero no responde la pregunta.
Stuart Woodward, el