使用Start-Process启动具有完整命令行的进程

时间:2013-07-19 15:53:05

标签: powershell powershell-v2.0 start-process

如何使用PowerShell的Start-Process cmdlet使用其完整命令行(带有可执行路径和参数)启动进程。例如,让我有以下一行

"<dir_path>/myprog.exe" -arg1 "val1" -arg2 "val2"

存储在某个字符串变量上,并希望通过Start-Process运行它。

我知道Start-Process -FilePath '<dir_path>/myprog.exe' -ArgumentList '-arg1 "val1" -arg2 "val2"'会奏效。但重点是我不知道如何从完整的命令行获取可执行文件的路径和参数。

有没有办法通过Start-Process使用完整的命令行来运行进程,或者如果没有这种方式,那么如何从命令行获取文件路径和参数列表?

2 个答案:

答案 0 :(得分:0)

您需要启动流程吗?你能直接调用可执行文件吗?

& "C:\Dir 1\Dir 2\executable.exe" -arg1 "value 1" -arg2 "value 2"

请参阅 help about_Operators 以及&amp; (来电)运营商的信息。

比尔

答案 1 :(得分:0)

您是否有理由认真设置启动流程?如果没有,你可以这样做:

Invoke-Expression "& $command"

其中 $ command 是存储完整命令行的变量。