Soy nuevo en la escritura de guiones y no puedo hacer que este funcione. Podría si moviera los archivos a una ruta sin un espacio, pero me gustaría que funcionara con el espacio si pudiera.
Quiero extraer un montón de actualizaciones de Office a una carpeta con un archivo .cmd. Para que el archivo por lotes se pueda usar en cualquier computadora, establezco una variable de ruta que solo tengo que cambiar en un lugar para ejecutarla en otra máquina. El problema es que el camino tiene un espacio. Si pongo comillas alrededor de la ruta en la definición, cmd.exe las coloca alrededor de la ruta antes de agregar el nombre del archivo y los cambios y el lote falla con "Error de sintaxis de línea de comando". Sin comillas, falla con "no se reconoce como un comando interno o externo, programa operable o archivo por lotes".
Para las pruebas, estoy usando el interruptor de ayuda hasta que pueda hacerlo funcionar o si puedo hacerlo. Puedo hacerlo usando un nombre de archivo / carpeta 8.3 (por ejemplo, Mis documentos como MyDocu ~ 1), pero ¿se puede hacer de otra manera?
Respuestas:
Intente algo como esto:
fuente
yo suelo
al actualizar la ruta:
fuente
Aquí hay dos opciones. Primero, puede almacenar la ruta sin comillas y simplemente citarla más tarde:
Otra opción que podría usar es una subrutina que sirve para eliminar las cadenas de comillas (pero en este caso en realidad no es una muy buena idea ya que está agregando comillas, eliminándolas y volviéndolas a agregar sin beneficio):
La
%~1
quita comillas alrededor del argumento. Esto es útil cuando se pasan los nombres de las carpetas entre comillas pero, como se dijo antes, en este caso particular no es la mejor idea :-)fuente
set LALA=%~1
fue lo que funcionó para mí.Prueba esto;
crea una variable como se muestra a continuación
Luego reemplace la ruta con variable. Asegúrese de agregar comillas para el comienzo y el final
fuente
Siempre coloco la ruta entre comillas dobles cuando estoy creando un archivo .bat. (Acabo de agregar la PAUSA para que no cierre la pantalla).
Por ejemplo:
fuente
La forma correcta de hacer esto es así:
fuente
La forma más sencilla de solucionar este problema es poner el nombre de la carpeta entre comillas:
(cd\New Folder\...) --> (cd\"New Folder"\...)
Espera que esto ayude.
fuente
Si necesita almacenar una ruta permanente (la ruta no se cambia cuando se reinicia cmd)
Ejecute el símbolo del sistema como administrador (haga clic con el botón derecho en cmd.exe y seleccione ejecutar como administrador)
En cmd
setx path "%path%;your new path"
luego ingreseVerifique si la ruta se tomó correctamente escribiendo ruta y presionando enter
fuente
también solo intente agregar barras dobles como esta funciona solo para mí
set dir = "C: \\ 1. Alguna carpeta \\ Otra carpeta \\ Simplemente porque"
@echo en MKDIR% dir%
Dios mío, después de publicar, eliminaron el segundo \ en mi publicación, así que si abre mi comentario y muestra tres, debería leerlos como dos ...
fuente