Warum schließt sich die cmd immer wieder?

4 Antworten

Vom Beitragsersteller als hilfreich ausgezeichnet

Naja, wenn du eine .cmd/.bat Datei ausführst werden alle Befehle der Reihe nach ausgeführt und danach das CMD-Fenster geschlossen.

Wenn du jetzt den Befehl "echo hier könnte ihr Text stehen" in die .cmd/.bat reinpackst, ohne irgendeinen anderen Befehl, wird der Text ausgegeben und danach wird das Skript sofort beendet.

Du kannst das auf zwei einfache Arten machen:

@echo off
echo Hier könnte ihr Text stehen
pause

Dann würde die Ausgabe so aussehen:

Hier könnte ihr Text stehen
Drücken Sie eine beliebiege Taste...

Oder du machst das:

@echo off
echo Hier könnte ihr Text stehen
>nul timeout /t 5 /nobreak

Hier würde die Ausgabe so aussehen:

Hier könnte ihr Text stehen

Bei der zweiten Variante wird, nachdem der Text ausgegeben wird, 5 Sekunden gewartet und anschließend das Skript beendet. Durch das "/nobreak" kann er den Countdown nicht überspringen, ohne das ">nul" davor würde zusätzlich noch folgendes ausgegeben werden: "Es wird 5 Sekunden gewartet..."

Ich hoffe dass in irgendeiner Weise weiterhilft, falls du Fragen hast, einfach als Kommentar hier drunter packen.

Mal abgesehen von dem zwielichtigen Verhalten, dass du deinen Freunden da zumuten willst - aber naja.

Die CMD arbeitet alle Befehle ab und schließt sich danach wieder beim Aufruf einer CMD-Datei. Wenn dort kein pause-Befehl hinterlegt ist, verschwindet Sie natürlich sofort wieder.

echo off
echo Dies ist ein Hinweis für deine Freunde
pause

Dies generiert folgende Ausgabe

Dies ist ein Hinweis für deine Freunde
Drücken Sie eine beliebige Taste um fortzufahren.

Das Skript zeigt nen Text an, ist fertig und schließt sich wieder. 

Setz nen Pause-Befehl nach dem Text.