Różnica między CMD a BAT

CMD vs BAT

CMD i BAT dotyczą plików używanych do automatyzacji powtarzających się zadań, z których często korzysta użytkownik. Tworzenie pliku CMD lub BAT przypomina korzystanie z prostego języka programowania z zaletami możliwości korzystania z instrukcji wiersza poleceń i uruchamiania innych aplikacji z parametrami lub bez nich. Pliki CMD i BAT są bardzo do siebie podobne, z bardzo niewielkimi różnicami. BAT to bardzo stary typ pliku, który istnieje od czasu pojawienia się DOS. Został przeniesiony przez Microsoft, gdy opracował system Windows z dala od DOS. Typ pliku CMD został opracowany przez firmę Microsoft do użycia w implementacji skryptów poleceń systemu Windows NT, ale jest także używany w nowszych wersjach systemu Windows opartych na systemie Windows NT.

BAT został stworzony do współpracy z COMMAND.COM, interpreterem poleceń DOS. Microsoft zaadaptował większość poleceń DOS do swojego nowego interpretera o nazwie CMD. EXE. CMD został stworzony do współpracy z CMD.EXE i łamie kompatybilność z COMMAND.COM. Inną kluczową różnicą jest sposób, w jaki obsługują zmienną poziomu błędu. Podczas korzystania z BAT zmienna ta jest zmieniana tylko wtedy, gdy wystąpi rzeczywisty błąd i nie nastąpi zmiana stanu, gdy każde polecenie zostanie wykonane pomyślnie. Nie dotyczy to CMD, ponieważ zmienna poziomu błędu nadal zmienia stan, nawet jeśli nie wystąpią żadne błędy. Programiści powinni wziąć to pod uwagę podczas tworzenia skomplikowanych skryptów, ponieważ może to powodować pewne zamieszanie.

Oprócz tych drobnych różnic CMD i BAT są identyczne. Większość użytkowników, którzy tworzą proste skrypty do usuwania lub przesyłania plików, nie powinna napotykać żadnych problemów. Dla użytkowników nowszych wersji systemu Windows BAT i CMD są prawie wymienne, ponieważ CMD.EXE interpretuje i wykonuje polecenia w obu plikach. Chociaż większość użytkowników zdaje sobie z tego sprawę, wiele starszych osób, które miały okazję pracować z DOS i jego plikami wsadowymi, nadal korzysta z rozszerzenia BAT; po prostu z przyzwyczajenia i zażyłości.

Streszczenie:

1. Rozszerzenie BAT jest używane przez DOS i Windows, natomiast rozszerzenie CMD jest przeznaczone dla skryptów poleceń Windows NT

2. Rozszerzenie BAT może być interpretowane przez COMMAND.COM i CMD.EXE, natomiast rozszerzenie CMD może być interpretowane tylko przez CMD.EXE

3. Poziom błędu zawsze zmienia stan w CMD, ale tylko w przypadku błędów w BAT