我正在使用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
参数从Run行调用Powershell。到目前为止,没有运气。
答案 0 :(得分:1)
如何定义$ RESULTSFILE?
冒号后面不应该有空格(你通常需要在任何参数中查找空格。你似乎没有任何空格,但参数中的空格需要适当的引用)。
您可以通过使用一些额外的参数调用它来从Start-Process获取错误消息(下面的行有意产生错误):
Start-Process $ MSTEST -ArgumentList“\ testcontainer:file”-wait -NoNewWindow -RedirectStandardError err -RedirectStandardOutput out