Nur neugierig. "Coole" Leute in unserer Firma benutzen immer * .cmd, während mir niemand den Unterschied erklären konnte.
windows
batch-file
windows-command-prompt
Artem Tikhomirov
quelle
quelle
Es gibt semantische Unterschiede in der jeweils verwendeten Befehlssprache (
.bat
Dateien erhalten eine Kompatibilitätsversion). Einige davon können mit diesem Skript von hier aus veranschaulicht werden :Grundsätzlich erhalten
.cmd
Dateien die aktuelle, sexyere Version der MS-Befehlssprache, weshalb die coolen Kids sie verwenden.quelle
Laut Wikipedia:
.bat: Die erste Erweiterung, die von Microsoft für Batchdateien verwendet wird. Diese Erweiterung kann in den meisten Microsoft-Betriebssystemen ausgeführt werden, einschließlich MS-DOS und den meisten Versionen von Microsoft Windows.
.cmd: Die neuere .cmd-Erweiterung wird von Windows NT-basierten Systemen als "Windows NT-Befehlsskript" beschrieben und ist hilfreich, da die Verwendung einer .cmd-Erweiterung anstelle der .bat-Erweiterung bedeutet, dass frühere Windows-Versionen nicht wissen, wie sie funktioniert Führen Sie es aus, damit sie nicht versuchen, die Befehle für COMMAND.COM - Stildateien zu verwenden und verwechseln und die neuen Stildateien aufgrund fehlender Befehlserweiterungen nicht ausführen, was dazu führt, dass Skripts nur teilweise ausgeführt werden, was sich als schädlich erweisen kann (z Beispiel: Fehler beim Überprüfen des erfolgreichen Kopierens einer Datei und beim Löschen des Originals.
Der einzige bekannte Unterschied zwischen der Verarbeitung von .cmd- und .bat-Dateien besteht darin, dass sich in einer .cmd-Datei die Variable ERRORLEVEL auch bei einem erfolgreichen Befehl ändert, der von Befehlserweiterungen betroffen ist (wenn Befehlserweiterungen aktiviert sind), wohingegen in .bat-Dateien die Variable ERRORLEVEL geändert wird Änderungen nur bei Fehlern.
Hoffe das hilft.
quelle
Theoretisch ist .cmd eher "trueЪ" :), da .bat ein Skript für das alte DOS command.com ist, während .cmd für cmd.exe unter Windows NT ist. Das letzte hat ein etwas besseres Skripting. Im wirklichen Leben sind normalerweise beide gleich, wie zB / bin / sh oder / bin / bash in Linux (meine Distributionen, in denen sh tatsächlich bash ist).
quelle
Ich habe zum ersten Mal das unter OS / 2 verwendete .cmd-Format gesehen. Wenn Sie in DOS-Begriffen denken, ist es wie eine .bat-Datei für Steroide. .bat-Dateien wurden zuerst unter DOS-Betriebssystemen eingeführt. Ein Großteil der Syntax ist ähnlich, außer wenn Sie mit erweiterten Funktionen beginnen. Außerdem funktioniert eine CMD-Datei möglicherweise nicht in einer 16-Bit-Umgebung (win98), wohingegen eine BAT-Datei wahrscheinlich in allen Umgebungen funktioniert.
quelle