Ist es möglich, die Eingabeaufforderung zu öffnen (und ich denke, irgendein anderes Terminal für andere Systeme), und Befehle im neu geöffneten Fenster auszuführen?Wie öffne ich die Eingabeaufforderung und füge Befehle mit Java ein?
Zeit, was ich habe, ist dies:
Runtime rt = Runtime.getRuntime();
rt.exec(new String[]{"cmd.exe","/c","start"});
Ich habe versucht, den nächsten Befehl nach dem „Start“ und fügte hinzu, habe ich versucht, einen anderen rt.exec läuft mein Befehl enthält, aber ich kann nicht finde einen Weg, um es zum Laufen zu bringen.
Wenn es darauf ankommt, ich versuche, einen Befehl wie dies auszuführen:
java -flag -flag -cp terminal-based-program.jar
EDIT Leider habe ich hatte einige seltsame Ergebnisse. Ich konnte die Eingabeaufforderung erfolgreich starten und einen Befehl mit diesem Befehl übergeben:
rt.exec("cmd.exe /c start command");
Es scheint jedoch nur mit einem Befehl zu arbeiten. Wenn ich versuche, den Befehlseparator wie folgt zu verwenden: "cmd.exe/c starte den Befehl & command2", wird der zweite Befehl durch den Hintergrund geleitet (so wie es wäre, wenn ich nur rt.exec ("command2") verwende) ;). Jetzt ist das Problem hier, ich erkannte, dass ich das Verzeichnis ändern muss, in dem die Eingabeaufforderung ausgeführt wird, da, wenn ich nur den vollständigen Pfad zu der JAR-Datei verwende, die JAR-Datei die Daten aus dem Active Directory der Eingabeaufforderung falsch liest das Verzeichnis des Jar, das seine Ressourcen enthält.
Könnten Sie erklären, warum Sie dies versuchen, anstatt nur .exec im java-Befehl auszuführen. Das Befehlsfenster würde automatisch geöffnet werden. –
Siehe den Kommentar Ich legte die Antwort von ktm5124. –