私は、次のコードを経由してjarファイルを呼び出しているPowerShellスクリプトを持っている:書き込み出力
Start-Process java -ArgumentList '-jar', "$jarPath", "$csvPath"
しかし、瓶からの出力は通じ来ていません。私はかなり正常に動作していると確信していますが、私は確信しています。 Powershellコンソールにどうやって渡すことができますか?
私は、次のコードを経由してjarファイルを呼び出しているPowerShellスクリプトを持っている:書き込み出力
Start-Process java -ArgumentList '-jar', "$jarPath", "$csvPath"
しかし、瓶からの出力は通じ来ていません。私はかなり正常に動作していると確信していますが、私は確信しています。 Powershellコンソールにどうやって渡すことができますか?
call operatorでStart-Process
を置き換えます
& java -jar $jarPath $csvPath
これが私のために正常に動作します:私はコマンド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を実行する必要があります。
私はうまくいけば、出力が最終的にではなく、生成されたものになるようにしたいと考えています。それが不可能なら、これは間違いなくトリックを行うでしょう! – chazbot7
'Start-Process'はデフォルトでそれを行うべきです。 Javaコードは、おそらく出力を生成するように見えますか? –
おそらくこれは役に立ちますか? http://stackoverflow.com/questions/8761888/powershell-capturing-standard-out-and-error-with-start-process私が似たような問題を抱えていたときに働きました – whatever
@AnsgarWiechersまだ何も書かれていませんStart-Processを使用していましたが、 'java -jar" $ jarPath "" $ csvPath "'をまっすぐに実行しようとしましたが、今はコンソールに出力しています。 – chazbot7