it-swarm-es.tech

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

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 en él. También necesito pasar paramaters que tienen espacios también. ¿Como hacer esto?

P.ej. archivo por lotes

start "c:\path with spaces\app.exe" param1 "param with spaces"
74
Tim

En realidad, su ejemplo no funcionará (aunque al principio pensé que también lo haría). Sobre la base de la ayuda para el comando de Inicio, el primer parámetro es el nombre de la ventana del Símbolo del sistema que se acaba de crear, 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 comando. Si se crea una aplicación de Windows, no se mostrará el símbolo del sistema y el título no importará.

160
Andy

Escapar 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óstrofes circundantes, por lo que su aplicación no se ejecuta.

Intenta algo como esto:

start "Dummy Title" "c:\path with spaces\app.exe" param1 "param with spaces"
15
Steffen
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, un programa operable o un archivo por lotes.

Creo que la segunda marca qoutation previene el comando para ejecutar. Después de alguna búsqueda debajo de la solución salva mi día:

start "" CALL "c:\path with spaces\app.exe" "C:\path parameter\param.exe"
2
Mustafa Kemal

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.

1
Mark Agate

Debes usar algo como esto:

inicio/d C:\Windows\System32\calc.exe

inicio/d "C:\Archivos de programa\Mozilla

Firefox "firefox.exe inicio/d

"C:\Archivos de programa\Microsoft

Office\Office12 "Excel.EXE

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

0
user243871