Posible duplicado:
usando el comando cd en la línea de comandos de Windows, no puedo navegar a D: \
Cada vez que quiero cambiar el contexto del directorio a otra unidad (D, E, F o lo que sea ...) en un símbolo del sistema de Windows, debo usar el "Drive letter":\
comando para cambiarlo. Si trato con el "comando cd" en la cd H:\
que acaba de eco H: \ para mí y no hacer nada:
¿Hay alguna razón para tal comportamiento? Quiero decir, ¿no deberías cd command
trabajar para hacer esto? ¿Por qué no?
Respuestas:
Tratar:
/d
también cambiará las letras de unidad y los directorios, para obtener más información, consultecd /?
fuente
La razón por la cual Windows se comporta de esta manera es porque DOS se comportó de esa manera.
En DOS, cada unidad tiene su propio directorio actual, y el
cd
comando cambia el directorio actual en una unidad. Si esa también es la unidad actual , su directorio de trabajo cambia junto con ella. Si desea cambiar la unidad actual, simplemente especifique la letra de la unidad como un comando.Tenga en cuenta que Windows ya no funciona de esta manera (solo tiene un directorio actual en cualquier momento), pero el shell de comandos hace todo lo posible para fingir que todavía hay directorios actuales por unidad. Presumiblemente, esto es para preservar la compatibilidad con los archivos por lotes de DOS existentes.
La razón por la cual DOS funciona de esta manera se remonta a las versiones más antiguas de DOS, y CP / M antes. Los detalles sangrientos se pueden encontrar en el blog de Raymond Chen .
fuente
La respuesta directa es que "porque no está escrito para funcionar de esa manera". Simplemente entrando
D:
hará lo que quieras.La entrada curiosa
cd D:\somedir
, de hecho, cambiará el directorio actual en D: a \ data, pero no cambiará el símbolo del sistema actual a D :.fuente