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.