Hallo liebe Spezies,
kann mir jemand sagen, warum die Batchdateien unter Windows ab Version 7 die Endung *.cmd und nicht *.bat haben sollen,
obwohl sie auch mit der *.bat Endung funktionieren?
Bitte keine Vermutungen, die Frage ist ernst gemeint.
Hallo liebe Spezies,
kann mir jemand sagen, warum die Batchdateien unter Windows ab Version 7 die Endung *.cmd und nicht *.bat haben sollen,
obwohl sie auch mit der *.bat Endung funktionieren?
Bitte keine Vermutungen, die Frage ist ernst gemeint.
Weil *.cmd von CMD.exe kommt, bat kommt eher von command.com.
Errorlevel wird bei CMD.exe automatisch gesetzt.
CMD.exe unterstützt mehr Schlüsselwörter.
BAT ist uralt aus DOS-Zeiten. Dementsprechend kann der Befehlsinterpreter COMMAND.COM nur DOS-Befehle abarbeiten. Der heute aktuelle Befehlsinterpreter CMD.EXE ist eine Windowsanwendung mit erweitertem Befehlsumfang. Der kann auch etliche Windowskommandos. Die dafür vorgesehene Erweiterung ist *.CMD. Verwendest Du die neueren Windowskommandos in einer BAT-Datei könnte jemand auf die Idee kommen, die mittels COMMAND.COM auszuführen. Das Ergebnis wäre, die Batchdatei bricht mittendrin mit "Befehl oder Dateiname nicht gefunden" ab.
So lange Du das nur für Dich nutzt, ist es also egal, CMD.EXE schluckt alles. Aber für die Weitergabe der Batchdatei an andere Rechner könnte es wichtig werden.
Gruß Volkmar
Danke für die Infos ihr beide!
Klingt einleuchtend.
Edit:
Dann werde ich mal vorbeugend alle meine Batdateien umbenennen.
Ich denke, das einfache Umbenennen reicht.
Klar reicht Umbenennen. Sind ja beides nur reine Textdateien ohne irgendwelche geheimnisvollen Besonderheiten.
Gruß Volkmar
Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!