Ich habe eine Fledermausdatei wie diese:
ipconfig
Dadurch werden die IP-Informationen auf dem Bildschirm ausgedruckt, aber bevor der Benutzer diese Informationen lesen kann, schließt sich CMD von selbst.
Ich glaube, dass CMD davon ausgeht, dass das Skript fertig ist, also schließt es.
Wie halte ich CMD offen, nachdem das Skript fertig ist?
batch-file
cmd
Pattyd
quelle
quelle
pause
das ist eine schöne Abhilfe (und das ist , warum ich diese Antwort upvoted) , aber nicht eines , das wirklich das Problem löst , weil , nachdem der Benutzer TrefferEnter
oderSpace
das Fenster schließen. ..Antworten:
Je nachdem , wie Sie den Befehl ausführen, können Sie setzen
/k
nachcmd
dem Fenster offen zu halten.Das einfache Hinzufügen
cmd /k
am Ende Ihrer Batch-Datei funktioniert ebenfalls. Dank an Luigi D'Amico , der dies in den Kommentaren unten gepostet hat.quelle
cmd /k
am Ende einfügen .Fügen Sie
pause
am Ende Ihrer .BAT-Datei ein.quelle
Fügen Sie einfach
@pause
am Ende hinzu.Beispiel:
Oder Sie können auch verwenden:
quelle
@pause
undpause
kann visuell in dieser Antwort gesehen werden: stackoverflow.com/questions/17957076#60053224Das Hinzufügen
pause
von (Windows 7) am Ende hat bei mir nicht funktioniert,aber das Hinzufügen von
cmd /k
vor meinem Befehl hat funktioniert.Beispiel:
quelle
Wenn die .bat-Datei nicht über die Befehlszeile gestartet wird (z. B. Doppelklick).
quelle
start cmd /k
hat die Magie für mich getan. Ich habe es tatsächlich zum Vorbereiten der Cordova Phonegap App verwendet. Es führt den Befehl aus, zeigt das Ergebnis an und wartet darauf, dass der Benutzer es schließt. Unten ist das einfache BeispielWas ich in meinem Fall benutzt habe
Aktualisieren
Sie könnten sogar einen Titel dafür haben, indem Sie verwenden
start "My Title" echo Hello, World!
quelle
Wenn Sie das Skript in der Befehlszeile starten, fügen Sie hinzu
exit /b
, um CMD geöffnet zu haltenquelle
ipconfig
und anderer integrierter Batch-Dateien eine sehr schlechte Idee ist .Fügen Sie in Windows '& Pause' am Ende Ihres Befehls in die Datei ein.
quelle
Ich war auch verwirrt darüber, warum wir
cmd
am Anfang ein hinzufügen, und ich fragte mich, ob ich zuerst die Eingabeaufforderung öffnen musste. Sie müssen lediglich den vollständigen Befehl zusammen mit eingebencmd /k
. Angenommen, Ihr Batch-Dateiname lautet "my_command.bat", wodurch der Befehl ausgeführt wird.javac my_code.java
Dann sollte der Code in Ihrer Batch-Datei wie folgt lauten:Grundsätzlich ist es nicht erforderlich, die Eingabeaufforderung im aktuellen Ordner zu öffnen und den obigen Befehl einzugeben. Sie können diesen Code jedoch direkt in Ihrer Batchdatei speichern und direkt ausführen.
quelle
Mit dem zweiten Befehl wird Ihr Cmd-Fenster nicht geschlossen. Wichtig ist, dass Sie immer noch einen neuen Befehl eingeben können
quelle
Als Nebenbemerkung funktioniert dies auch, wenn ein Befehl direkt über die Suchleiste in Windows ausgeführt wird.
ipconfig
Wenn Sie z. B. direkt ausführen, wird das cmd-Fenster direkt geschlossen, nachdem der Befehl beendet wurde.Verwenden von
cmd \k <command>
nicht - was ich versucht habe, als ich diese Antwort fand.Es hat den zusätzlichen Vorteil, dass der Befehl, den Sie ausführen möchten, immer erkannt wird. Das Ausführen
echo hello world
über die Suchleiste funktioniert beispielsweise nicht, da dies kein Befehl ist,cmd \k echo hello world
funktioniert jedoch einwandfrei .quelle