Ich bin gerade erst hier in SO aus, so upvote konnte nicht Antwort des @Franci Penov als richtig:
rt.exec(new String[]{"cmd.exe","/C","build.bat"});
oder einfach,
rt.exec("cmd.exe /C build.bat");
sollte nicht eine Eingabeaufforderung öffnen. build.bat
wird kopflos ausgeführt.
Angenommen, Sie eine Eingabeaufforderung bringen wollen, während build.bat
läuft (so können Sie die Ausgabe direkt von der Eingabeaufforderung sehen, anstatt sie später zu verarbeiten), und will, dass die Eingabeaufforderung weg zu gehen, nachdem build.bat
Ausführung beendet hat, können Sie die folgende verwenden:
rt.exec("cmd.exe /C start cmd.exe /C batch.bat");
die start
startet einen (sichtbaren) Eingabeaufforderungsfenster, um die Ausgabe von cmd.exe /C batch.bat
zu verarbeiten und anzuzeigen. Wenn Sie eine pause
am Ende Ihrer batch.bat
haben, dann alles, was Sie tun müssen, ist einen Schlüssel zu drücken, und die Eingabeaufforderung wird weggehen, ohne 10 im Eingabeaufforderungsfenster eingeben müssen, um es zu schließen.
Dies ist vielleicht nicht das, was Sie brauchen, aber ich habe auf SO gesucht, aber dann selbst die Lösung gefunden. Nur um es zu teilen.
Ich habe das versucht. Der Build wird nicht mit dieser Option ausgeführt. –
Huh, interessant. Wenn das der Fall ist, vermute ich, dass es etwas mit deiner Bat-Datei ist. 'START' erzeugt im Wesentlichen einen neuen cmd.exe-Prozess (der nicht beendet wird) und'/C' beendet den erstellten. Sie könnten versuchen, eine Protokollierung zur Batch-Datei hinzuzufügen und zu sehen, wie weit es noch geht. –