Powershell :Захват стандартного вывода и ошибок с помощью объекта Process

Я хочу запустить программу Java из PowerShell и вывести результаты на консоль.

Я следовал инструкциям этого вопроса: Захват стандартного вывода и ошибки с помощью Start -Process

Но для меня это не работает, как я ожидал. Что я делаю неправильно?

Это сценарий:

$psi = New-object System.Diagnostics.ProcessStartInfo
$psi.CreateNoWindow = $true
$psi.UseShellExecute = $false
$psi.RedirectStandardOutput = $true
$psi.RedirectStandardError = $true
$psi.FileName = 'java.exe'
$psi.Arguments = @("-jar","tools\compiler.jar","--compilation_level",   "ADVANCED_OPTIMIZATIONS", "--js", $BuildFile, "--js_output_file", $BuildMinFile)
$process = New-Object System.Diagnostics.Process
$process.StartInfo = $psi
$process.Start() | Out-Null
$process.WaitForExit()
$output = $process.StandardOutput.ReadToEnd()
$output

Переменная $outputвсегда пуста (и, конечно же, ничего не выводится на консоль ).

20
задан Dawid Ferenczy Rogožan 6 September 2018 в 10:44
поделиться