686 Stimmen

Wie kann man das automatische Schließen der Konsole nach der Ausführung einer Batch-Datei verhindern?

Welchen Befehl kann ich an das Ende einer Batch-Datei setzen, um zu verhindern, dass die Konsole nach der Ausführung der Datei automatisch geschlossen wird?

831voto

Dave Bauman Punkte 8595

In Windows/DOS-Batch-Dateien:

pause

Dies druckt eine schöne "Press any key to continue . . . " Nachricht

Oder, wenn Sie nicht wollen, dass die "Press any key to continue . . ." Nachricht, tun Sie stattdessen dies:

pause >nul

190voto

Rutger Nijlunsing Punkte 4751

Das hängt von der genauen Frage ab!

Normalerweise pause erledigt die Arbeit innerhalb einer .bat Datei.

Wenn Sie wollen cmd.exe nicht zu eng, um weiter tippen zu können, verwenden Sie cmd /k Befehl am Ende der Datei.

97voto

Valentine Stone Punkte 1015

Wenn Sie wollen, dass cmd.exe nicht geschlossen wird und Sie weiter tippen können, verwenden Sie cmd /k

Ich hatte nur das Bedürfnis zu klären, was /k tut (von der Windows-Website):

/k : Führt den durch string angegebenen Befehl aus und fährt fort.

Alors cmd /k ohne Folgebefehl am Ende der Bat-Datei wird einfach weiter cmd.exe Fenster zur weiteren Verwendung geöffnet.

Andererseits pause am Ende einer Batch-Datei hält den Prozess einfach an und beendet ihn cmd.exe beim ersten Tastendruck

72voto

Andrey Hartung Punkte 655

Wenn Sie Folgendes verwenden Maven und Sie wollen das Tippen überspringen und verhindern, dass die Konsole geschlossen wird, um das Ergebnis zu sehen, müssen Sie die CALL Befehl in dem Skript, außer dem 'mvn clean install'.

So wird die Konsole geschlossen

ECHO This is the wrong exemple
mvn clean install
pause

So wird die Konsole wird geöffnet bleiben

ECHO This is the right exemple
CALL mvn clean install
pause

Wenn Sie nicht die CALL Befehl funktioniert keines der beiden Beispiele aus der Vergangenheit. Denn aus irgendeinem Grund ist das Standardverhalten von cmd beim Aufrufen einer anderen Batch-Datei (in diesem Fall mvn), den aktuellen Prozess durch diese zu ersetzen, im Gegensatz zum Aufrufen einer .exe

34voto

user6928445 Punkte 271

Die unten beschriebene Art, Befehle in einer Stapeldatei zu haben, öffnet ein neues Eingabeaufforderungsfenster, das nicht automatisch beendet wird.

start "title" call abcd.exe param1 param2  
start "title" call xyz.exe param1 param2

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X