Warum wird die Verwendung von „cmd“ in .bat korrekt aufgelöst?

Warum wird die Verwendung von „cmd“ in .bat korrekt aufgelöst?

Bei der Suche nach der richtigen Methode zum Ausführen eines BAT-Skripts, bei der das cmdFenster nach Abschluss aktiv bleibt, habe ich erfahren, dass eine von zwei gängigen Methoden darin besteht, cmd /k file.batin das Skript einzuschließen, wobei „file.bat“ auf sich selbst verweist.

Ich verstehe zwar das funktionale Ergebnis des oben Gesagten, aber ich kann einfach nicht begreifen, wie es – konzeptionell – richtig ausgeführt und aufgelöst wird.

Aus meiner eigenen, ungebildeten Schlussfolgerung schließe ich, dass es etwas mit dem /kArgument zu tun hat, dessen Funktion wie folgt erklärt wird:

Führt den durch die Zeichenfolge angegebenen Befehl aus, bleibt aber

Doch selbst wenn das Skript dadurch selbst eine Schleife verhindern kann, wie kann es seine eigene Ausführung nicht unterbrechen?

Entschuldigen Sie, wenn das super offensichtlich ist oder ich etwas Grundlegendes falsch verstehe, ich habe keine formale Ausbildung oder Schulung zu diesem Thema.

BEARBEITEN:

Nun, das war dumm von mir! Ich sah in der AntwortHierdass die Syntax so angeordnet war, wie ich es oben angegeben habe...wastutdas Skript in einer Schleife laufen zu lassen, also hätte ich es eigentlich erst selbst testen sollen, bevor ich blind und ohne richtigen Kontext daran glaubte (und ich sage auch immer „Vertrauen ist gut, Kontrolle ist besser“, was für ein Heuchler

Antwort1

Was die Frage „Warum?“ betrifft cmd, gibt es ein paar gute Erklärungen aufPaketüberfluss- cmdwird im Wesentlichen als interpretiert %ComSpec%, was die Umgebungsvariable Ihres Systems für den vollständigen Speicherort von cmd.exe ist (normalerweise C:\Windows\System32\cmd.exe).

Was den Kontext Ihrer Frage betrifft: Wenn Sie cmd /k yourbatfile.batyourbatfile.bat in sich haben, wird es einfach in einer Schleife laufen. Wenn Sie möchten, dass Ihr Fenster aus Gründen der Fehlerbehebung geöffnet bleibt, empfehle ich Ihnen dringend, einfach pauseam Ende/nach den Abschnitten, mit denen Sie Probleme haben, ein einzufügen.

Der Wortlaut für /kisthier mal etwas andersda es heißt, dass es „zur Eingabeaufforderung zurückkehrt“ – im Wesentlichen /kist das Hinzufügen so, als würde man cmd.exe öffnen und verwenden, während das Fehlen von so /kist, als würde man einen Befehl aus einem Ausführen-Fenster ausführen.

Sie können dies testen, indem Sie „Ausführen“ öffnen ipconfig /all– Ihr Fenster wird nach Abschluss sofort geschlossen ipconfig. Wenn Sie „Ausführen“ jedoch öffnen cmd /k ipconfig /all, werden Sie in Ihrem Fenster zu einer Eingabeaufforderung zurückgeführt.

verwandte Informationen