我想从 PowerShell 启动一个 Java 程序并在控制台上打印结果。
我已按照此问题的说明进行操作: 使用 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
变量始终为空(当然控制台上不会打印任何内容)。