2016-08-19 6 views
0

私は、次のコードを経由してjarファイルを呼び出している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 operatorStart-Processを置き換えます

& java -jar $jarPath $csvPath 
0

これが私のために正常に動作します:私はコマンドecho 123でPowerShellプロセスを開始して以来

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

は、それがstdoutに123を返されたので、この値が保存されますファイルへ。 PowershellをJavaでスワップすると、期待どおりに動作するはずです。 stdoutを変数に直接リダイレクトすることはできないことを忘れないでください。ファイルを使用してstdoutを実行する必要があります。

+0

私はうまくいけば、出力が最終的にではなく、生成されたものになるようにしたいと考えています。それが不可能なら、これは間違いなくトリックを行うでしょう! – chazbot7

関連する問題