2016-08-19 133 views
0

我有一个通过下面的代码调用一个罐子PowerShell脚本:写入输出Powershell的被炒到标准输出

Start-Process java -ArgumentList '-jar', "$jarPath", "$csvPath" 

然而,从罐子输出不来通过。我很确定它的运行成功,但我想确定。我如何将它传递给Powershell控制台?

+0

'Start-Process'默认应该这样做。 Java代码看起来应该如何生成输出? –

+0

也许这有帮助吗? http://stackoverflow.com/questions/8761888/powershell-capturing-standard-out-and-error-with-start-process当我遇到类似问题时为我工作 – whatever

+0

@AnsgarWiechers我还没有看到任何东西正在写入使用Start-Process,但我试着直接运行'java -jar“$ jarPath”“$ csvPath”',现在我得到输出到控制台。 – chazbot7

回答

1

call operator替换Start-Process

& java -jar $jarPath $csvPath 
0

这对我工作得很好:

$stdout = "C:\temp\stdout.txt" 
Start-Process powershell -ArgumentList "echo 123" -RedirectStandardOutput $stdout -Wait 
$output = Get-Content $stdout 
echo $output 
Remove-Item $stdout 

自从我开始PowerShell进程与命令echo 123,它返回123到stdout,所以这个值被保存归档。 用Java交换Powershell,它应该像你期望的那样工作。 请记住,您不能直接将stdout重定向到变量,您必须通过文件来完成。

+0

我期望希望将输出写入其生成的内容,而不是最后一次。如果这是不可能的,那么这肯定会诀窍! – chazbot7