我有一个powershell脚本,它通过以下代码调用jar:
Start-Process java -ArgumentList '-jar', "$jarPath", "$csvPath"
但是,jar的输出没有通过。我很确定它运行得很成功,但我想确定一下。如何将其传递到Powershell控制台?
将Start-Process
替换为呼叫操作符:
& java -jar $jarPath $csvPath
这对我来说很好:
$stdout = "C:tempstdout.txt"
Start-Process powershell -ArgumentList "echo 123" -RedirectStandardOutput $stdout -Wait
$output = Get-Content $stdout
echo $output
Remove-Item $stdout
因为我用命令echo 123
启动Powershell进程,它返回123
到stdout,所以这个值被保存到文件中。将Powershell与Java交换,它应该像您期望的那样工作。请记住,您不能将stdout直接重定向到变量,您必须通过file.