Welchen Befehl kann ich am Ende einer Batchdatei einfügen, um das automatische Schließen der Konsole nach der Ausführung der Datei zu verhindern?
510
Welchen Befehl kann ich am Ende einer Batchdatei einfügen, um das automatische Schließen der Konsole nach der Ausführung der Datei zu verhindern?
Antworten:
In Windows / DOS-Batchdateien:
Dies druckt eine schöne
"Press any key to continue . . . "
NachrichtWenn Sie die
"Press any key to continue . . ."
Nachricht nicht möchten , gehen Sie stattdessen folgendermaßen vor:quelle
Kommt auf die genaue Frage an!
Normalerweise
pause
erledigt der Job in einer .bat- Datei.Wenn Sie möchten, dass cmd.exe nicht geschlossen wird, damit Sie weiter tippen können, verwenden Sie den
cmd /k
Befehl am Ende der Datei.quelle
cmd /k
Sie sie stattdessen vor Ihren Befehl.& cmd /k
wird nicht funktionieren.Ich hatte gerade das Bedürfnis zu klären, was
/k
(von der Windows-Website) funktioniert:Also
cmd /k
ohne Follow - up - Befehl am Ende der BAT - Datei wird einfach weitercmd.exe
Fenster offen für die weitere Verwendung.Andererseits wird
pause
am Ende einer Batchdatei der Vorgang einfach angehalten undcmd.exe
beim ersten Tastendruck beendetquelle
Die folgende Möglichkeit, Befehle in einer Batchdatei zu haben, öffnet neue Eingabeaufforderungsfenster und die neuen Fenster werden nicht automatisch beendet.
quelle
Wenn Sie Maven verwenden und die Eingabe überspringen und verhindern möchten, dass die Konsole geschlossen wird, um das Ergebnis anzuzeigen, müssen Sie den
CALL
Befehl im Skript neben nur der 'mvn-Neuinstallation' verwenden.So wird die Konsole geschlossen
So bleibt die Konsole offen
Wenn Sie den
CALL
Befehl nicht verwenden, funktioniert keines der vergangenen Beispiele.quelle
call <myCommand>
löste dieses Problem: Meine Eingabeaufforderung wurde nach der ersten Ausführung nicht mehr geschlossenFügen Sie
cmd.exe
als neue Zeile unter dem Code hinzu, den Sie ausführen möchten:quelle
python script.py %1 && cmd
Mein Weg ist es, einen tatsächlichen Stapel (mit der Aufschrift "foo.bat") zu schreiben, um den Job zu beenden. dann erstelle eine weitere "start.bat":
Ich finde das äußerst nützlich, wenn ich einmalige Umgebungsvariablen einrichte.
quelle
cmd /k
(ohne Befehl) am Ende derfoo.bat
Datei setzen und diese ausführen. Sie benötigen keine separatestart.bat
Datei.Rufen Sie
cmd
am Ende der Batch-Datei auf.quelle
außerdem
pause
.kann verwendet werden. Es werden Benutzereingaben erwartet und der Fluss wird freigegeben, wenn die Eingabetaste gedrückt wird.
oder
Dies wird dasselbe tun, außer dass nichts aus der Benutzereingabe angezeigt wird oder im Befehlsverlauf verbleibt.
quelle
Möglichkeit 1: Erstellen Sie einfach 2 .bat-Dateien und schreiben Sie in die erste:
Batch-Datei 2 ist die Datei, die am Ende nicht geschlossen wird. Wenn Sie also Batch Nr. 1 öffnen, wird der 2. gestartet und sich selbst geschlossen. Wenn der 2. beendet ist, wird er nicht vollständig geschlossen (solange Sie am Ende keinen Ausgang setzen).
Möglichkeit 2: Batchdatei 1:
Wenn die 2. Datei endet, fährt sie erneut mit Datei 1 fort und gibt den Rest aus. Damit können Sie sogar Fehlerbehandlungsroutinen erstellen. Wenn nr.1 abstürzt, geht es in nr.2 und zeigt es an
quelle
Dieser kleine Hack fordert den Benutzer auf, einen Schlüssel einzugeben und in der Variablen% exitkey% zu speichern (diese Variable kann jedoch als beliebig bezeichnet werden).
NB: Das Leerzeichen nach dem '=' ist sehr wichtig
quelle
oder
quelle
Ich weiß, dass ich zu spät bin, aber mein bevorzugter Weg ist:
Auf diese Weise kann der Benutzer nicht mit enter beenden.
quelle
Hatte Probleme mit den Antworten hier, also habe ich mir das ausgedacht, was für mich (TM) funktioniert:
quelle
Je nach Anwendungsfall gibt es zwei Möglichkeiten
1) Wenn Sie möchten, dass die Windows-Cmd-Eingabeaufforderung geöffnet bleibt, damit Sie das Ausführungsergebnis sehen und anschließend schließen können; verwenden
2) wenn Sie möchten, dass die Windows-Cmd-Eingabeaufforderung geöffnet bleibt und Sie einige Befehlsnachwörter ausführen können; verwenden
quelle
Einfach, fügen Sie cmd zu Ihrer letzten Fledermauszeile hinzu, ABER! Wenn Sie Ihren Systempfad zurücksetzen oder löschen, müssen Sie Ihr cmd mit dem vollständigen Pfad beginnen, wie z.
Zum Beispiel habe ich eine Bat-Datei, um JDK auf die alte Version wie folgt zurückzusetzen:
Da ich den Systempfad zurückgesetzt habe, muss ich cmd mit dem vollständigen Pfad ausführen. Andernfalls kann das System cmd.exe nicht finden. Cmd kann nicht ausgeführt werden. Schließen Sie einfach das Fenster, und die Fehlermeldung wird nicht angezeigt .
quelle