Dávkový soubor

Dávkový souborje voperačním systémuDOS,OS/2aMicrosoft Windowstextový souborobsahující sériipříkazů, které jsou zpracovány interpretempříkazového řádku. Když je dávkový soubor spuštěn, interpret (obvykleCOMMAND.COMnebocmd.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.cmdveWindows NTa OS/2 nebo.btmve 4DOS a příbuzných shellech. Mezi příponami.bata.cmdnení 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.batinterpretovány 16bitovýmCOMMAND.COMa dávky s příponou.cmdjsou ve Windows NT interpretovány 32bitovým shellemcmd.exea jsou povolena všechna rozšíření. Windows 9x rozeznávají pouze příponu.bat.
Interpretpoužívaný vpříkazovém řádkuposkytuje dva odlišné režimy:interaktivnírežim (ve kterém uživatelé zadávají příkazy do výzvypromptua které jsou po odeslání klávesouEntervykonány) adávkové zpracování(který provádí předdefinovanou sekvenci příkazů). Původní koncept těchto dvou režimů je převzat zunixových shellůstejně jako ostatní textově orientovaná rozhraní spříkazovým řádkemz let kolem roku 1980, jako byloCP/M, který si zase vzal inspiraci ze systémůTOPS-10aTOPS-20odDigital Equipment Corporation.
Dávkové zpracování se v systémechMS-DOSaMicrosoft Windowsběhem času vyvíjelo. Přestože jsou dávkové soubory analogií kshellovým skriptůmvunixovýchsysté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 vNortnových utilitáchnebo náhradě DOSového shellu4DOSa později4NT.
V systémuMS-DOSje interpretem příkazového řádku programCOMMAND.COM. V dávkách lze používat několik jednoduchých interních příkazů, které provádí přímoCOMMAND.COMa programy, které jsou uloženy ve spustitelných souborech (externí příkazy). Nejčastěji používaná je v systémechWindows 95aWindows 98dávkaAUTOEXEC.BAT, která je automaticky spouštěna při startu systému (je-li přítomna). SystémWindows Metuto vlastnost nemá.
Nová linie 32bitového systému Windows NT (včetněWindows 2000,Windows XPaWindows Vista) již není založena na systému MS-DOS, ale má svoje vlastní 32bitové jádro. V nich je přítomen interpretcmd.exe, který je víceméně kompatibilní s interpretemCOMMAND.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 dispoziciWindows Script Host, který umožňuje spouštění skriptů napsaných v jazyceVBScript,JScripta podobných skriptovacích jazycích. V roce2006byl uveden další nástroj nazvanýWindows PowerShell, který je možné používat v systémechWindows XPa novějších.
Přestože operační systémOS/2odIBMpodporuje dávkové soubory ve stylu DOSu, obsahuje pokročilýskriptovací jazykREXX.
COMMAND.COM a cmd.exe podporují několik proměnných (od%0,%1až po%9) za cílem odkázat na cestu a názevdávkového zpracovánía prvních devět volajících parametrů přímo z dávkovacího souboru (SHIFT). Neexistující parametry jsou nahrazeny textovým řetězcem nulové délky. Mohou být použité podobně jakoproměnná prostředí.
Tento příklad vypíše "Ahoj světe!", a počká než uživatel zmáčkne libovolnou klávesu, poté se ukončí. (Poznámka: Nezáleží na dodržování malých a velkých písmen pokud nepracujeme s proměnnými)
pro spuštění musí být souboru uložen jako .bat (nebo .cmd pro operační systémy Windows-NT) ve formátu prostého textu, většinou psáno v textovém editoru jako napříkladNotepad.
Po spuštění se zobrazí:
Soubor je čten řádek po řádku, počínaje od prvního. Symbol@Na začátku řádku vypíná vypisování aktuálně prováděného příkazu. PříkazECHO OFFvypne vypisování, dokud není znova spuštěno. Kombinace@ECHO OFFlze většinou najít ve většině dávkovacích souborů na prvním řádku, zabraňujíc vypisování jakýchkoliv příkazů. Na dalším řádku příkazECHO Hello World!zobrazíAhoj světe!. Další řádek obsahuje příkazPAUSE, který zobrazíPress any key to continue . . .a zastaví provádění aktuálního skriptu. Poté, co je zmáčknuta libovolná klávesa se terminál ukončí, jelikož nejsou další příkazy, které by se daly provést. V systémech Windows se dávkovací soubor spouští pomocíPříkazové řádky. PříkazPAUSEna konci skriptu udržuje okno otevřené, jak dlouho uživatel potřebuje.
V tomto článku byl použitpřekladtextu z článkuBatch filena anglické Wikipedii.