1

我需要从外部程序中获取标准输出并将其带回 Powershell。我发现并正在使用@Andy Arismendi 从这个问题(附加到同一日志文件的标准和错误输出的重定向)中提供的答案。

下面的代码片段对我来说非常有用,但是外部可执行文件在后台静默运行。有没有办法防止它隐藏?

$pinfo = New-Object System.Diagnostics.ProcessStartInfo
$pinfo.FileName = "myjob.bat"
$pinfo.RedirectStandardError = $true
$pinfo.RedirectStandardOutput = $true
$pinfo.UseShellExecute = $false
$pinfo.Arguments = ""
$p = New-Object System.Diagnostics.Process
$p.StartInfo = $pinfo
$p.Start() | Out-Null
$p.WaitForExit()
$output = $p.StandardOutput.ReadToEnd()
$output += $p.StandardError.ReadToEnd()
$output | Out-File $myLog -Append
4

1 回答 1

0

是的,您可以设置UseShellExecutetrue,但是您不能重定向输入和输出流。

于 2012-07-05T18:13:41.340 回答