Dávkový soubor

Z Wikipedie, otevřené encyklopedie
Skočit na: Navigace, Hledání
Tento článek pojednává o skriptech v systémech DOS, OS/2 a Windows. O jiných typech dávek pojednává článek Shellový skript.

Dávkový soubor je v operačním systému DOS, OS/2 a Microsoft Windows textový soubor obsahující sérii příkazů, které jsou zpracovány interpretem příkazového řádku. Když je dávkový soubor spuštěn, interpret (obvykle COMMAND.COM nebo cmd.exe) čte soubor a spouští jednotlivé příkazy, které jsou umístěny na samostatných řádcích. Dávkové soubory jsou užitečné, když je potřeba spustit po sobě několik spustitelných souborů, čehož obvykle využívají administrátoři pro automatizaci zdlouhavých procesů.

DOSové dávkové soubory mají příponu souboru .BAT (velikost písmen nemá vliv). Dávkové soubory v jiných prostředích mohou mít jiné přípony, jako například .cmd ve Windows NT a OS/2 nebo .btm ve 4DOS a příbuzných shellech. Mezi příponami .bat a .cmd není rozdíl, pokud jsou spouštěny svým jménem, avšak při použití zástupců jsou dávky s příponou .bat interpretovány 16bitovým COMMAND.COM a dávky s příponou .cmd jsou ve Windows NT interpretovány 32bitovým shellem cmd.exe a jsou povolena všechna rozšíření. Windows 95/98 rozeznávají pouze příponu .bat.

Historie[editovat | editovat zdroj]

Interpret používaný v příkazovém řádku poskytuje dva odlišné režimy: interaktivní režim (ve kterém uživatelé zadávají příkazy do výzvy promptu a které jsou po odeslání klávesou Enter vykonány) a dávkové zpracování (který provádí předdefinovanou sekvenci příkazů). Původní koncept těchto dvou režimů je převzat z unixových shellů stejně jako ostatní textově orientovaná rozhraní s příkazovým řádkem z let kolem roku 1980, jako bylo CP/M, který si zase vzal inspiraci ze systémů TOPS-10 a TOPS-20 od Digital Equipment Corporation.

Dávkové zpracování se v systémech MS-DOS a Microsoft Windows během času vyvíjelo. Přestože jsou dávkové soubory analogií k shellovým skriptům v unixových systémech, jejich omezená syntaxe a množství příkazů způsobují, že nejsou tak univerzálně a široce použitelné. Tato omezení vedla k rozvoji pomocných nástrojů, příkazů a dalších rozšíření, jako například v Nortnových utilitách nebo náhradě DOSového shellu 4DOS a později 4NT.

DOS[editovat | editovat zdroj]

V systému MS-DOS je interpretem příkazového řádku program COMMAND.COM. V dávkách lze používat několik jednoduchých interních příkazů, které provádí přímo COMMAND.COM a programy, které jsou uloženy ve spustitelných souborech (externí příkazy). Nejčastěji používaná je v systémech Windows 95, Windows 98 a Windows Me dávka AUTOEXEC.BAT, která je automaticky spouštěna při startu systému (je-li přítomna).

Windows[editovat | editovat zdroj]

Nová linie 32bitového systému Windows NT (včetně Windows 2000, Windows XP a Windows Vista) již není založena na systému MS-DOS, ale má svoje vlastní 32bitové jádro. V nich je přítomen interpret cmd.exe, který je víceméně kompatibilní s interpretem COMMAND.COM, avšak některé vlastnosti chybí a jiné jsou naopak přidány. Proto je z důvodu zajištění lepší kompatibility v systémech NT přítomen i původní COMMAND.COM.

Pro komplexní úlohy je od Windows 98 k dispozici Windows Script Host, který umožňuje spouštění skriptů napsaných v jazyce VBScript, JScript a podobných skriptovacích jazycích. V roce 2006 byl uveden další nástroj nazvaný Windows PowerShell, který je možné používat v systémech Windows XP a novějších.

OS/2[editovat | editovat zdroj]

Přestože operační systém OS/2 od IBM podporuje dávkové soubory ve stylu DOSu, obsahuje pokročilý skriptovací jazyk REXX.

Příklad[editovat | editovat zdroj]

Příklad jednoduchého dávkového souboru:

@ECHO OFF
REM ECHO OFF vypíná vypisování jednotlivých příkazů na terminál
REM ECHO. vytiskne prázdný řádek
ECHO.
ECHO Ahoj světe, stiskni klávesu pro start programu APROGRAM.EXE!
PAUSE > NUL
REM První argument dávky může být předán pomocí "%1"
APROGRAM.EXE %1
IF ERRORLEVEL 1 GOTO error
ECHO.
ECHO APROGRAM byl ukončen v pořádku.
GOTO end
:error
ECHO.
ECHO APROGRAM skončil s nějakou chybou.
:end

Související články[editovat | editovat zdroj]

V tomto článku byl použit překlad textu z článku Batch file na anglické Wikipedii.