zu übergeben. Ich habe die folgenden Probleme.Rufen Sie BAT mit Java auf und speichern Sie die Umgebung (geändert durch die BAT), um die Umgebung an die nächste BAT
Lassen Sie uns ein zwei BAT-Files b1 und b2 genannt haben sagen:
b1 setzt eine ENV: set hello=hello
b2/Druck dieser ENV hallt: echo -- %hello% -- >> C:\Users\Administrator\Desktop\hello.txt
Nun, ich mag zu Rufen Sie b1 und b2 auf, werfen Sie JAVA und lassen Sie b2 hallo basierend auf dem Wert %hello%
hallo.
Wenn ich dies tun:
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();
Ich erhalte diese Ausgabe in der hello.txt:
-- --
Es scheint, dass die Informationen zwischen den beiden Anrufen verloren. Könnte mir jemand helfen? Danke !!!
eine offensichtliche Art und Weise ist es, die Daten in einer temporären Datei zu schreiben, die von der zweiten Bat-Datei rot. – npocmaka
Führen Sie einfach die beiden Batch-Dateien unter _the same_cmd.exe aus, damit die Umgebung erhalten bleibt: 'Runtime.getRuntime(). Exec (" cmd/c-Aufruf C: \\ Benutzer \\ Administrator \\ Desktop \\ b1.bat & c: \\ Benutzer \\ Administrator \\ Desktop \\ b2.bat "). waitFor();' – Aacini