Cómo crear archivo por lotes de Windows utilizando "inicio" con una ruta de acceso y el comando con espacios

StackOverflow https://stackoverflow.com/questions/72671

  •  09-06-2019
  •  | 
  •  

Pregunta

Necesito crear un archivo por lotes que se inicia múltiples aplicaciones de consola en Windows .archivo cmd.Esto se puede hacer usando el comando de inicio.

Sin embargo, el comando tiene una ruta de acceso en la misma.También necesito para pasar los parámetros que han espacios así.Cómo hacer esto?

E. g.archivo de proceso por lotes

start "c:\path with spaces\app.exe" param1 "param with spaces"
¿Fue útil?

Solución

En realidad, su ejemplo no funciona (aunque al principio pensé que sería, también).Basado en la ayuda para el comando de arranque, el primer parámetro es el nombre de la recién creada ventana del Símbolo del sistema, y la segunda y la tercera debe ser la ruta de acceso de la aplicación y de sus parámetros, respectivamente.Si agrega otro "" antes de que la ruta de acceso a la aplicación, se debe trabajar (al menos lo fue para mí).Usar algo como esto:

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

Usted puede cambiar el primer argumento para ser lo que usted desea que el título del nuevo símbolo a ser.Si se trata de una aplicación de Windows que es creado, entonces el símbolo del sistema no se muestra, y el título no importa.

Otros consejos

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

Intentar algo como esto:

start "Dummy Title" "c:\path with spaces\app.exe" param1 "param with spaces"
start "" "c:\path with spaces\app.exe" "C:\path parameter\param.exe"

Cuando he usado la anterior sugerencia, tengo:

'c:\path' no es reconocido como un comando interno o externo, programa ejecutable o archivo por lotes.

Creo que la segunda qoutation marca prevenir el comando a ejecutar.Después de algunas búsquedas por debajo de solución de salvar mi día:

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

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

Vas a usar algo como esto:

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

inicio /d "C:\Program Files\Mozilla

Firefox" firefox.exe inicio /d

"C:\Program Files\Microsoft

Office\Office12" EXCEL.EXE

También te aconsejo que utilice un editor de archivos de proceso por lotes - El Dr. Batcher

Rodea la ruta de acceso y el argumento con espacios dentro de comillas, como en el ejemplo que debe de hacer.El comando puede necesitar para manejar las comillas cuando los parámetros se pasan, pero por lo general no es un gran problema.

He investigado con éxito y se está trabajando muy bien para mí.Mi requisito es enviar un correo electrónico usando vbscript que debe ser llamada desde un archivo por lotes de windows.Aquí está el comando exacto estoy usando sin errores.

START C:\Windows\System32\cscript.exe "C:\Documents and Settings\akapoor\Desktop\Mail.vbs"
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top