次のようなプロブレンがあります。JavaでBATを起動し、環境を保存して(BATによって変更された)環境を次のBATに渡します
さんが持っている2つのBAT-ファイルは、B1とB2と呼ばれるとしましょう:
b1がENVを設定している:set hello=hello
B2は/印刷にこのENVをエコーされます。echo -- %hello% -- >> C:\Users\Administrator\Desktop\hello.txt
は今、私がしたいですb1とb2を呼び出してJAVAをスローし、%hello%
の値に基づいてb2にhelloをエコーします。
私はこれを行う場合は、次の
-- --
情報を2回の呼び出しの間に失われているようです:
Runtime.getRuntime().exec("cmd /c call C:\\Users\\Administrator\\Desktop\\b1.bat").waitFor();
Runtime.getRuntime().exec("cmd /c call C:\\Users\\Administrator\\Desktop\\b2.bat").waitFor();
私はhello.txtでこの出力を取得します。誰か助けてくれますか? ありがとうございます!
1明らかな方法は、第二のbatファイルから赤になります一時ファイルにデータを書き込むことです。 – npocmaka
'' Runtime.getRuntime()。exec( "cmd/c call C:\\ Users \\ Administrator \\ Desktop \\ b1.bat」のように、同じcmd.exeの下にある2つのバッチファイルを実行するだけです。 &call C:\\ Users \\ Administrator \\ Desktop \\ b2.bat ")。waitFor();' – Aacini