CMD vs BAT
CMD a BAT jsou soubory, které se používají k automatizaci určitých úkolů, které se opakují a které uživatel často používá. Vytvoření souboru CMD nebo BAT je stejně jako použití jednoduchého programovacího jazyka s výhodami možnosti používat příkazy příkazového řádku a provádět jiné aplikace s nebo bez parametrů. Soubory CMD a BAT jsou si velmi podobné, s velmi malými rozdíly. BAT je velmi starý typ souboru, který existuje již od příchodu systému DOS. To bylo přeneseno Microsoft, když to vyvinulo Windows pryč od DOS. Typ souboru CMD byl vyvinut společností Microsoft pro použití při implementaci příkazových skriptů systému Windows NT, ale je používán také novějšími verzemi systému Windows, které jsou založeny na systému Windows NT.
BAT byl vytvořen pro interakci s COMMAND.COM, příkazovým interpretem DOSu. Společnost Microsoft přijala většinu příkazů systému DOS do svého nového tlumočníka s názvem CMD. EXE. CMD byl vytvořen pro rozhraní s CMD.EXE a narušuje kompatibilitu s COMMAND.COM. Další klíčový rozdíl spočívá v tom, jak zpracovávají proměnnou úrovně chyb. Při použití BAT je tato proměnná změněna pouze v případě, že dojde ke skutečné chybě a když dojde k úspěšnému provedení každého příkazu, nedojde ke změně stavu. To neplatí pro CMD, protože proměnná úrovně chyb by stále změnila stav, i kdyby nedošlo k žádným chybám. Programátoři by to měli vzít na vědomí při vytváření komplikovaných skriptů, protože to může způsobit trochu zmatek.
Kromě těchto drobných rozdílů jsou CMD a BAT stejné. Většina uživatelů, kteří vytvářejí jednoduché skripty pro vymazání nebo přenos souborů v okolí, by se neměli setkat s žádným problémem. Pro uživatele novějších verzí systému Windows jsou BAT a CMD do značné míry zaměnitelné, protože CMD.EXE interpretuje a provádí příkazy v obou souborech. Ačkoli většina uživatelů si je této skutečnosti vědoma, mnoho starších lidí, kteří měli šanci pracovat s DOSem a jeho dávkovými soubory, stále používají rozšíření BAT; prostě ze zvyku a známosti.
Souhrn:
1. Rozšíření BAT používají DOS a Windows, zatímco rozšíření CMD je pro příkazové skripty Windows NT
2. Příponu BAT lze interpretovat pomocí COMMAND.COM a CMD.EXE, zatímco rozšíření CMD lze interpretovat pouze pomocí CMD.EXE
3. Úroveň chyb vždy mění stav v CMD, ale pouze u chyb v BAT