2010-04-27 15:35:09 +0000 2010-04-27 15:35:09 +0000
235
235

Usando el comando cd en la línea de comandos de Windows, no se puede navegar a D:\

Esta puede ser una pregunta estúpida, y creo que he buscado en otra parte para encontrar la respuesta… Puede ser un problema de ruta, pero cuando abro la línea de comandos y escribo desde el C:\>:

cd D:\

no puedo llegar a la unidad D. Incluso si escribo:

cd D:\<folder name>

El command.exe completará automáticamente la línea con la tecla de tabulación, así que sabe dónde estoy. No imprime el resultado en la pantalla ni me lleva allí. Este problema existe también para las unidades de red.

Ahora, si uso el comando chdir (cd) así:

chdir D: o cd d:

obtengo la impresión del D: Esta puede ser una pregunta estúpida, y creo que he buscado en otra parte para encontrar la respuesta... Puede ser un problema de ruta, pero cuando abro la línea de comandos y escribo desde elC:>`:

cd D:\

no puedo llegar a la unidad D. Incluso si escribo:

cd D:\<folder name>

El command.exe completará automáticamente la línea con la tecla de tabulación, así que sabe dónde estoy. No imprime el resultado en la pantalla ni me lleva allí. Este problema existe también para las unidades de red.

Ahora, si uso el comando chdir (cd) así:

chdir D: o cd d:

obtengo la impresión del debajo del comando pero aún dice que estoy en el C: Esta puede ser una pregunta estúpida, y creo que he buscado en otra parte para encontrar la respuesta... Puede ser un problema de ruta, pero cuando abro la línea de comandos y escribo desde elC:>`:

cd D:\

no puedo llegar a la unidad D. Incluso si escribo:

cd D:\<folder name>

El command.exe completará automáticamente la línea con la tecla de tabulación, así que sabe dónde estoy. No imprime el resultado en la pantalla ni me lleva allí. Este problema existe también para las unidades de red.

Ahora, si uso el comando chdir (cd) así:

chdir D: o cd d:

obtengo la impresión del D: Esta puede ser una pregunta estúpida, y creo que he buscado en otra parte para encontrar la respuesta... Puede ser un problema de ruta, pero cuando abro la línea de comandos y escribo desde elC:>`:

cd D:\

no puedo llegar a la unidad D. Incluso si escribo:

cd D:\<folder name>

El command.exe completará automáticamente la línea con la tecla de tabulación, así que sabe dónde estoy. No imprime el resultado en la pantalla ni me lleva allí. Este problema existe también para las unidades de red.

Ahora, si uso el comando chdir (cd) así:

chdir D: o cd d:

obtengo la impresión del debajo del comando pero aún dice que estoy en el .

Siento que me falta algo simple.

Respuestas (9)

334
334
334
2010-04-27 15:38:06 +0000

Volviendo a los días del DOS, hay un “directorio actual” separado para cada unidad. cd D:\foldername cambia el directorio actual de D: al nombre de la carpeta especificada, pero no cambia el hecho de que todavía estás trabajando en la unidad C:.

Lo que quieres es simple:

D:

Aquí puedes ver cómo funciona lo de “directorio actual separado para cada unidad”:

C:\Users\coneslayer>e:

E:\>c:

C:\Users\coneslayer>cd e:\software

C:\Users\coneslayer>e:

e:\Software>
78
78
78
2012-01-19 14:17:48 +0000

Funcionó, ya que el comando está diseñado para funcionar.

Simplemente no sabes cómo se supone que funciona realmente.

No estás usando un programa de shell de Unix o Linux. El comando cd en el intérprete de comandos de Microsoft no se comporta como lo hacen los comandos cd en tales shells. Se comporta de manera algo diferente. En particular, no siempre cambia de directorio. En los shells de Unix y Linux, cd sólo establece el directorio de trabajo. En el intérprete de comandos de Microsoft, cd a veces lo consulta. No hay un comando pwd separado, así que cd hace dos trabajos.

Si no le das ningún argumento, o un argumento que es sólo una letra de unidad y dos puntos sin una ruta, entonces it reporta el directorio actual en lugar de cambiarlo. Si no le das ningún argumento, reporta el directorio actual de la unidad actual del proceso de interpretación de comandos. Si le das sólo una letra de unidad y dos puntos como argumento, reporta el directorio actual del proceso de interpretación de comandos de esa unidad. Cada unidad tiene su propio directorio actual en el intérprete de comandos. (Esta es una ficción mantenida por las bibliotecas de tiempo de ejecución para las implementaciones de Microsoft y otros proveedores de varios lenguajes de programación. Win32 no funciona así)

Así que cuando le diste el argumento d:, te informó del directorio actual del proceso del intérprete de comandos en la unidad D, que resultó ser `D:## Funcionó, ya que el comando está diseñado para funcionar.

Simplemente no sabes cómo se supone que funciona realmente.

No estás usando un programa de shell de Unix o Linux. El comando cd en el intérprete de comandos de Microsoft no se comporta como lo hacen los comandos cd en tales shells. Se comporta de manera algo diferente. En particular, no siempre cambia de directorio. En los shells de Unix y Linux, cd sólo establece el directorio de trabajo. En el intérprete de comandos de Microsoft, cd a veces lo consulta. No hay un comando pwd separado, así que cd hace dos trabajos.

Si no le das ningún argumento, o un argumento que es sólo una letra de unidad y dos puntos sin una ruta, entonces it reporta el directorio actual en lugar de cambiarlo. Si no le das ningún argumento, reporta el directorio actual de la unidad actual del proceso de interpretación de comandos. Si le das sólo una letra de unidad y dos puntos como argumento, reporta el directorio actual del proceso de interpretación de comandos de esa unidad. Cada unidad tiene su propio directorio actual en el intérprete de comandos. (Esta es una ficción mantenida por las bibliotecas de tiempo de ejecución para las implementaciones de Microsoft y otros proveedores de varios lenguajes de programación. Win32 no funciona así)

Así que cuando le diste el argumento d:, te informó del directorio actual del proceso del intérprete de comandos en la unidad D, que resultó ser . Si no le hubieras dado ningún argumento, te habría reportado `C:## Funcionó, ya que el comando está diseñado para funcionar.

Simplemente no sabes cómo se supone que funciona realmente.

No estás usando un programa de shell de Unix o Linux. El comando cd en el intérprete de comandos de Microsoft no se comporta como lo hacen los comandos cd en tales shells. Se comporta de manera algo diferente. En particular, no siempre cambia de directorio. En los shells de Unix y Linux, cd sólo establece el directorio de trabajo. En el intérprete de comandos de Microsoft, cd a veces lo consulta. No hay un comando pwd separado, así que cd hace dos trabajos.

Si no le das ningún argumento, o un argumento que es sólo una letra de unidad y dos puntos sin una ruta, entonces it reporta el directorio actual en lugar de cambiarlo. Si no le das ningún argumento, reporta el directorio actual de la unidad actual del proceso de interpretación de comandos. Si le das sólo una letra de unidad y dos puntos como argumento, reporta el directorio actual del proceso de interpretación de comandos de esa unidad. Cada unidad tiene su propio directorio actual en el intérprete de comandos. (Esta es una ficción mantenida por las bibliotecas de tiempo de ejecución para las implementaciones de Microsoft y otros proveedores de varios lenguajes de programación. Win32 no funciona así)

Así que cuando le diste el argumento d:, te informó del directorio actual del proceso del intérprete de comandos en la unidad D, que resultó ser `D:## Funcionó, ya que el comando está diseñado para funcionar.

Simplemente no sabes cómo se supone que funciona realmente.

No estás usando un programa de shell de Unix o Linux. El comando cd en el intérprete de comandos de Microsoft no se comporta como lo hacen los comandos cd en tales shells. Se comporta de manera algo diferente. En particular, no siempre cambia de directorio. En los shells de Unix y Linux, cd sólo establece el directorio de trabajo. En el intérprete de comandos de Microsoft, cd a veces lo consulta. No hay un comando pwd separado, así que cd hace dos trabajos.

Si no le das ningún argumento, o un argumento que es sólo una letra de unidad y dos puntos sin una ruta, entonces it reporta el directorio actual en lugar de cambiarlo. Si no le das ningún argumento, reporta el directorio actual de la unidad actual del proceso de interpretación de comandos. Si le das sólo una letra de unidad y dos puntos como argumento, reporta el directorio actual del proceso de interpretación de comandos de esa unidad. Cada unidad tiene su propio directorio actual en el intérprete de comandos. (Esta es una ficción mantenida por las bibliotecas de tiempo de ejecución para las implementaciones de Microsoft y otros proveedores de varios lenguajes de programación. Win32 no funciona así)

Así que cuando le diste el argumento d:, te informó del directorio actual del proceso del intérprete de comandos en la unidad D, que resultó ser . Si no le hubieras dado ningún argumento, te habría reportado .

Si quieres que el comando cd siempre esté en modo de configuración y nunca en modo de consulta necesitas añadirle la opción /D. Esto obliga a que el comando esté siempre en modo de establecimiento, y también lo extiende para que cambie la unidad actual, así como el directorio actual de una unidad. (En otras palabras, funciona más como lo hace realmente la API Win32 subyacente).

Así, por ejemplo, la línea de comandos

cd /d d:

cambiará el directorio a lo que sea el directorio actual de la unidad D, y también cambiará la unidad actual a la unidad D.

Si desea cambiar la unidad actual del proceso del intérprete de comandos de otra manera, el comando cd no es el camino. Lo hace simplemente escribiendo la letra de la unidad y dos puntos:

d:

Lectura adicional

  • JP Software (2011). CD/CHDIR Ayuda en línea de TCC.
  • Corporación Microsoft (2001). Chdir (CD) . TechNet Windows XP Referencia de la línea de comandos A-Z.
55
55
55
2010-04-27 16:28:25 +0000

Me temo que esto es incorrecto. Es cierto desde los días del DOS, pero la línea de comandos en Windows NT y posteriores no es DOS. En la línea de comandos que todo el mundo usa hoy en día, tienes el interruptor /D. El interruptor /d cambiará el directorio actual de la unidad especificada Y cambiará a ese directorio. El modificador /d debe especificarse antes de la ruta de acceso. Por ejemplo:

C:\> cd /d D:\foo\bar\
D:\foo\bar\>

20
20
20
2012-01-19 07:58:57 +0000

CD significa C hange D irectorio, y no Change Drive. Así que no cambiaría a D: así. Para conseguirlo, tendrías que escribir la letra de la unidad

, por ejemplo

d:

9
9
9
2012-01-19 08:12:06 +0000

El directorio de trabajo en cmd.exe se mantiene en base a volume-by-volume; el directorio de trabajo de la unidad C: es diferente del directorio de trabajo de la unidad D:.

Cuando se pasa sólo una letra de unidad a cd, se imprimirá el directorio de trabajo de la unidad especificada.

En su caso, el directorio de trabajo de la unidad D: es la propia raíz del volumen, D:El directorio de trabajo en cmd.exe se mantiene en base avolume-by-volume; el directorio de trabajo de la unidadC:es diferente del directorio de trabajo de la unidadD:`.

Cuando se pasa sólo una letra de unidad a cd, se imprimirá el directorio de trabajo de la unidad especificada.

En su caso, el directorio de trabajo de la unidad D: es la propia raíz del volumen, .

Para cambiar los volúmenes de C: a D: simplemente hay que introducir la letra de unidad:

C:\>D:
D:\>
8
8
8
2012-01-19 13:33:59 +0000

Usacd /D D: para hacer esto. También puede especificar las rutas.

5
5
5
2012-01-19 15:52:42 +0000

Si quieres cambiar de unidad en un símbolo del sistema DOS, simplemente tienes que escribir:

[Drive Letter]:

Por ejemplo, si quieres cambiar a la unidad D:\ entonces sólo tienes que escribir lo siguiente en un símbolo del sistema:

D:
2
2
2
2016-07-27 21:59:20 +0000

pushd funciona incluso cuando necesitas ir al subdirectorio de la unidad, por ejemplo, D:\Tests\Logs.

Sólo úsalo así:

pushd D:\Tests\Logs

Si quieres volver al directorio anterior usa popd:

C:\Users>pushd D:\Tests\Logs
D:\Tests\Logs>popd
C:\Users>
0
0
0
2016-06-23 22:24:36 +0000

Mientras vas a la opción de búsqueda en la barra de herramientas y buscas cmd o seleccionando ventanas Todas las aplicaciones seleccionando el símbolo del sistema, entonces te lleva a algún otro símbolo del sistema. En lugar de eso, intenta presionar el botón de Windows + R y busca cmd que lleva a C:> drive. Desde allí puedes navegar a D:> o a cualquier lugar que necesites