usar tutorial script run parametros how firmar ejecutar con como powershell powershell-v2.0

tutorial - powershell script execution



Ejecutando un archivo EXE usando un script de PowerShell (2)

Parece que está especificando tanto el EXE como su primer argumento en una sola cadena, por ejemplo; ''"C:/Program Files/Automated QA/TestExecute 8/Bin/TestExecute.exe" C:/temp/TestProject1/TestProject1.pjs /run /exit /SilentMode'' . Esto no funcionará En general, invocas un comando nativo que tiene un espacio en su ruta como ese:

& "c:/some path with spaces/foo.exe" <arguments go here>

Eso es & espera ser seguido por una cadena que identifica un comando: cmdlet, función, exe nativo o ruta absoluta.

Una vez que obtienes este trabajo:

& "c:/some path with spaces/foo.exe"

Comience a trabajar en la cita de los argumentos según sea necesario. Aunque parece que tus argumentos deberían estar bien (sin espacios, sin otros caracteres especiales interpretados por PowerShell).

Estoy intentando ejecutar un archivo EXE usando un script de PowerShell. Si utilizo la línea de comando, funciona sin problemas (primero proporciono el nombre del ejecutable y la serie de parámetros para invocarlo):

"C:/Program Files/Automated QA/TestExecute 8/Bin/TestExecute.exe" C:/temp/TestProject1/TestProject1.pjs /run /exit /SilentMode

Pero hacer exactamente lo mismo dentro de un script devuelve un error:

El término '''' C: / Archivos de programa / QA automatizado / TestExecute 8 / Bin / TestExecute.exe "C: / temp / TestProject1 / TestProject1.pjs / run / exit / SilentMode '' no se reconoce como el nombre de un cmdlet, función , archivo de script o programa operable. Verifique la ortografía del nombre, o si se incluyó una ruta, verifique que la ruta sea correcta y vuelva a intentarlo.

(Invoqué el comando usando el operador "&").

¿Como puedo solucionar este problema?


& "C:/Program Files/Automated QA/TestExecute 8/Bin/TestExecute.exe" C:/temp/TestProject1/TestProject1.pjs /run /exit /SilentMode

o

[System.Diagnostics.Process]::Start("C:/Program Files/Automated QA/TestExecute 8/Bin/TestExecute.exe", "C:/temp/TestProject1/TestProject1.pjs /run /exit /SilentMode")

ACTUALIZACIÓN: lo siento, me perdí "(invoqué el comando con la frase" & "operador)". Tuve este problema cuando estaba evaluando la ruta dinámicamente. Pruebe la construcción de invocación-expresión:

Invoke-Expression "& `"C:/Program Files/Automated QA/TestExecute 8/Bin/TestExecute.exe`" C:/temp/TestProject1/TestProject1.pjs /run /exit /SilentMode"