[Windows] Wie verhindert man das automatische Schließen der Konsole nach der Ausführung der Batch-Datei?


Answers

Kommt auf die genaue Frage an!

Normalerweise pause der Job innerhalb einer .bat- Datei.

Wenn Sie möchten, dass cmd.exe nicht geschlossen wird, um cmd /k zu können, verwenden Sie den Befehl cmd /k am Ende der Datei.

Question

Kann mir jemand sagen, welcher Befehl am Ende einer Batch-Datei steht, um das automatische Schließen der Konsole nach der Ausführung der Datei zu verhindern?




Einfach, addiere cmd zu deiner letzten Fledermauslinie, ABER! Wenn Sie Ihren Systempfad zurücksetzen oder löschen, müssen Sie Ihren cmd mit dem vollständigen Pfad starten, wie:

%windir%\system32\cmd.exe

Zum Beispiel habe ich eine Bat-Datei, um jdk auf die alte Version zurückzusetzen:

PATH=C:\Program Files\Java\jdk1.6.0_45\bin;C:\apache-ant-1.7.1\bin
SET JAVA_HOME=C:\Program Files\Java\jdk1.6.0_45
%windir%\system32\cmd.exe

seit ich den Systempfad zurückgesetzt habe, muss ich cmd mit dem vollständigen Pfad ausführen, oder das System kann cmd.exe nicht finden, es wird nicht ausgeführt, cmd, und nur das Fenster zu schließen, und Sie können den Fehler msg nicht sehen .




außer pause .

set /p=

Kann verwendet werden. Es erwartet Benutzereingaben und gibt den Fluss frei, wenn Enter gedrückt wird.

oder

runas /user:# "" >nul 2>&1

Das wird dasselbe tun, außer dass nichts von der Benutzereingabe angezeigt wird oder in der Befehlsgeschichte verbleibt.




Dieser kleine Hack fordert den Benutzer zur Eingabe eines Schlüssels auf und speichert ihn in der Variablen% exitkey% (diese Variable könnte aber auch beliebig heißen).

set /p exitkey= "Press any key to continue..."

NB: Der Raum nach dem '=' ist sehr wichtig




Der folgende Weg, Befehle in einer Batchdatei zu haben, öffnet neue Eingabeaufforderungsfenster und die neuen Fenster werden nicht automatisch beendet.

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



Rufen Sie cmd am Ende der Batch-Datei auf.




Links