Я новичок в Powershell.Мне нужно непрерывно перехватывать вывод из вызова командной строки в Powershell и предпочтительно отправлять его в другую функцию.В настоящее время мой код ожидает завершения внешней программы.Вот что у меня есть:
$startInfo = New-Object System.Diagnostics.ProcessStartInfo
$startInfo.FileName = "DataSet.exe"
$startInfo.CreateNoWindow = $true
$startInfo.UseShellExecute = $false
$startInfo.RedirectStandardError = $true
$startInfo.RedirectStandartOutput = $true
$startInfo.Arguments = "1 off"
$process = New-Object System.Diagnostics.Process
$process.StartInfo = $startInfo
$process.Start() | Out-Null
$stdOut = $process.StandardOutput.ReadToEnd()
$stdErr = $process.StandardError.ReadToEnd()
$process.WaitForExit()
process($stdOut)
process($stdErr)
# Do stuff with $process.ExitCode
Вот что мне нужно
...
while (readOutput)
{
process($stdOut)
process($stdErr)
}
...