2016-08-19 137 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