我正在使用 Powershell 的标准 ISE 开发一个脚本,该脚本除其他外,还使用预定义的文件路径调用 start-process
。这是代码:
$MSTEST ="C:\Program Files (x86)\Microsoft Visual Studio 11.0\Common7\IDE\MSTEST.EXE"
$TESTSETTING="D:\Source\Test\DEV\FIREBIRD\QA\LoadTesting\WebTests\perfvsctlr2.testsettings"
$TESTCONTAINER1="D:\Source\Infinity\DEV\FIREBIRD\QA\LoadTesting\WebTests\Test.AppFx.LoadTesting.Test\LoadTestDefs\Test_Interactive_Peak_Workload.loadtest"
start-process $MSTEST -ArgumentList "/Testsetting: $TESTSETTING /Testcontainer: $TESTCONTAINER1 /resultsfile: $RESULTSFILE"
当我传递变量,然后尝试从 Powershell 提示符手动执行 start-process
行时,它只会打开一个窗口并关闭它,而不显示错误。到目前为止,我已经使用了 -NoNewWindow 参数,并尝试使用 -noexit 参数从运行行调用 Powershell。到目前为止,还没有运气。
最佳答案
$RESULTSFILE 是如何定义的?
冒号后面不应该有空格(并且通常必须在任何参数中查找空格。您似乎没有空格,但参数中的空格需要正确引用)。
您可以通过使用一些额外参数调用 Start-Process 来获取错误消息(下面的行故意产生错误):
启动进程 $MSTEST -ArgumentList "\testcontainer: file"-wait -NoNewWindow -RedirectStandardError err -RedirectStandardOutput out
关于powershell - 调试 Powershell 启动进程行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21389645/