Esta pregunta ya tiene una respuesta aquí:
Tengo una Surface Pro 3 con una tarjeta SD de 32 gb. Establecí la ubicación de OneDrive en esta tarjeta SD (ya que eliminaron la función de marcador de posición y me veo obligado a descargar todo). La letra de unidad asignada a la tarjeta SD es D:\
verificada por la disk management
utilidad.
El problema es que no puedo acceder a esta unidad / tarjeta con la línea de comando, tanto normal como administrativa. es decir, el comando cd D:\
simplemente no devuelve nada y permanece en la carpeta actual.
Esto está causando que algunas herramientas de línea de comandos se rompan en mi computadora, ya que no devuelve un error (pero parece que nada funciona).
La respuesta marcada a continuación es correcta. Sin embargo, para obtener más información, pruebe CMD cd en otras unidades, excepto C: \ no funciona
fuente
cd
funciona? Algunas de mis extensiones / herramientas crean dinámicamente una ruta que se hacd
incorporado en ellas. No quiero terminar de modificar extensiones, eso es un poco tediosoWindows tiene el concepto de rutas actuales por unidad, al menos en el shell. Esto es de los viejos tiempos donde podría haber estado trabajando con dos disquetes y tener diferentes carpetas abiertas en ellos y que estaba cambiando entre ellos. Y en realidad, las subcarpetas solo se introdujeron en DOS 2.0, creo, y antes de eso solo había unidades diferentes y sin barras invertidas y no
cd
.Por lo tanto, el cambio de unidades se realiza así:
... mientras que el cambio de uno de los directorios actuales se realiza de la
cd
siguiente manera:Es posible cambiar el directorio en otra unidad sin cambiar a esa unidad, y esto es lo que estaba haciendo accidentalmente:
También es posible hacer referencia a la ruta actual de otra unidad simplemente especificando la letra de la unidad sin barra invertida:
Y la solución a su problema: en Windows moderno, el
cd
comando también tiene un interruptor/d
para cambiar implícitamente las unidades:Nota al margen: las rutas actuales para la unidad individual (para el proceso actual: las rutas actuales son por proceso) se almacenan como variables de entorno ocultas mágicas llamadas
=C:
,=D:
etc.No puede asignarlos normalmente debido al signo igual, pero puede verlos usando
echo %=C:%
y tal o al enumerar todas las variables de entorno, incluidas las ocultas, utilizando un truco (tenga en cuenta la comilla doble):También puede ver la ruta actual de otra unidad usando
cd
una letra de unidad sin ninguna ruta:Para obtener más información, consulte esto: https://blogs.msdn.microsoft.com/oldnewthing/20100506-00/?p=14133
(Tenga en cuenta que fuera del shell, los programas no tienen que preocuparse por esto, porque solo hay un directorio de trabajo actual que el sistema de Windows realmente usará, no uno por unidad. El material "por unidad" es solo una cosa construida en la parte superior por el shell, porque funcionó así desde DOS).
fuente
C
y llamancd
para incluir la/d
bandera.