Powershell: przechwytywanie standardowego wyjścia i błędu z obiektem Process

Chcę uruchomić program Java z PowerShell i uzyskać wyniki wydrukowane na konsoli.

Postępowałem zgodnie z instrukcjami tego pytania:Przechwytywanie standardowego wyjścia i błędu przy uruchomieniu procesu

Ale dla mnie to nie działa tak, jak oczekiwałem. Co robię źle?

To jest skrypt:

$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

The$output zmienna jest zawsze pusta (i oczywiście nic nie jest drukowane na konsoli).

questionAnswers(3)

yourAnswerToTheQuestion