versiones guia español actualizar windows batch-file scripting

guia - Cómo crear un archivo por lotes en Windows usando "inicio" con una ruta y comando con espacios



qgis español (7)

Necesito crear un archivo por lotes que inicie varias aplicaciones de consola en un archivo .cmd de Windows. Esto se puede hacer usando el comando de inicio.

Sin embargo, el comando tiene una ruta de acceso. También necesito pasar parámetros que también tengan espacios. ¿Como hacer esto?

Por ejemplo, archivo por lotes

start "c:/path with spaces/app.exe" param1 "param with spaces"


Curiosamente, parece que en Windows Embedded Compact 7, no puede especificar una cadena de título. El primer parámetro tiene que ser el comando o programa.


Debes usar algo como esto:

start / d C: / Windows / System32 / calc.exe

start / d "C: / Archivos de programa / Mozilla

Firefox "firefox.exe start / d

"C: / Archivos de programa / Microsoft

Office / Office12 "EXCEL.EXE

También te aconsejo que uses el editor de archivos por lotes especiales - Dr.Batcher


El escape de la ruta con apóstrofes es correcto, pero el comando de inicio toma un parámetro que contiene el título de la nueva ventana. Este parámetro es detectado por los apóstrofos circundantes, por lo que su aplicación no se ejecuta.

Pruebe algo como esto:

start "Dummy Title" "c:/path with spaces/app.exe" param1 "param with spaces"


En realidad, su ejemplo no funcionará (aunque al principio pensé que sí, también). Según la ayuda para el comando de Inicio, el primer parámetro es el nombre de la ventana del Símbolo del sistema recién creada, y el segundo y el tercero deben ser la ruta a la aplicación y sus parámetros, respectivamente. Si agrega otro "" antes de la ruta a la aplicación, debería funcionar (al menos lo hizo para mí). Usa algo como esto:

start "" "c:/path with spaces/app.exe" param1 "param with spaces"

Puede cambiar el primer argumento para que sea lo que quiera que sea el título del nuevo símbolo del sistema. Si se crea una aplicación de Windows, no se mostrará el símbolo del sistema y el título no tendrá importancia.


Investigué con éxito y está funcionando bien para mí. Mi requisito es enviar un correo electrónico usando vbscript, que necesita ser llamado desde un archivo por lotes en Windows. Aquí está el comando exacto que estoy usando sin errores.

START C:/Windows/System32/cscript.exe "C:/Documents and Settings/akapoor/Desktop/Mail.vbs"


Rodear el camino y la discusión con espacios dentro de comillas como en tu ejemplo debería hacer. El comando puede necesitar manejar las comillas cuando se le pasan los parámetros, pero generalmente no es un gran problema.


start "" "c:/path with spaces/app.exe" "C:/path parameter/param.exe"

Cuando utilicé la sugerencia anterior, tengo:

''c: / ruta'' no se reconoce como un comando interno o externo, programa operable o archivo por lotes.

Creo que la segunda marca de qoutation evita que se ejecute el comando. Después de buscar por debajo de la solución, salve mi día:

start "" CALL "c:/path with spaces/app.exe" "C:/path parameter/param.exe"