Otra forma es usar un parámetro con comillas dobles. Cuando llame a la otra aplicación, simplemente use el dispositivo %~N
en la línea de comando para eliminar las comillas.
Si algunos de los parámetros que desea pasar a la aplicación son dobles, estos caracteres deben repetirse dos veces.
Aquí es una secuencia de comandos ilustración que utiliza el primer parámetro como el nombre de la aplicación y la segunda como una lista de parámetros combinado para pasar a la aplicación:
@ECHO OFF
CALL %1 %~2
Estos son ejemplos de llamar a la secuencia de comandos para los diferentes casos (pase un parámetro o varios parámetros o parámetros cotizados).
Pass 1 parámetro para la aplicación:
C:\>mybatch.bat app.exe "app_param"
C:\>mybatch.bat app.exe app_param
Pass varios parámetros:
C:\>mybatch.bat app.exe "app_param1 app_param2 app_param3"
pasa un parámetro que incluye espacios (y por lo tanto podrá ser citado):
C:\>mybatch.bat app.exe """parameter with spaces"""
Un ejemplo combinado: algunos parámetros son con espacios, otros no lo son:
C:\>mybatch.bat app.exe "param_with_no_spaces ""parameter with spaces"" another_spaceless_param"
+1, sólo sería colocar la verificación de los parámetros vacío * antes * de procesar el parámetro. –