Domovská » jak » Jak psát dávkový skript v systému Windows

    Jak psát dávkový skript v systému Windows

    Víte, jak používat příkazový řádek? Pokud tak učiníte, můžete napsat dávkový soubor. Ve své nejjednodušší formě je dávkový soubor (nebo dávkový skript) seznam několika příkazů, které jsou spuštěny při dvojitém kliknutí na soubor. Dávkové soubory jsou až do DOSu, ale stále pracují na moderních verzích systému Windows.

    PowerShell skripty a skripty Bash mohou být výkonnější, ale dávkové soubory mohou být stále hodně užitečné, pokud potřebujete spustit základní příkazy systému Windows.

    Základy dávkového souboru

    Dávkový soubor je prostě textový soubor uložený s příponou souboru .bat. Můžete napsat jeden pomocí programu Poznámkový blok nebo pokročilejšího textového editoru, jako je Notepad ++, ale nepoužívejte textový editor, jako je Microsoft Word.

    Vytvořme jednoduchý dávkový soubor. Nejprve otevřete Poznámkový blok. Do něj zadejte následující řádky:

    ECHO vypnutí ECHO Hello World PAUSE

    Poté soubor uložte klepnutím na příkaz Soubor> Uložit. Dejte mu libovolné jméno, které chcete, ale nahraďte příponu výchozího souboru .txt příponou .bat.

    Můžete například název pojmenovat hello_world.bat .

    Nyní máte dávkový soubor s příponou .bat. Poklepejte na jeho spuštění. Tento konkrétní dávkový soubor nastaví příkaz ECHO (který vyčistí výstup tak, že skryje příkazy vytištěné na výzvu, vytiskne text "Hello World" na obrazovku a poté čeká stisknutí klávesy před tím, než skončí.

    Pokud jste nepřidali PAUZA do souboru dávkový soubor jednoduše spustil příkazy a automaticky se zavřel. V tomto případě by se okno "Hello World" vytisklo a okno Okna příkazového řádku okamžitě zavřete. Pokud chcete rychle spustit příkazy bez zobrazení výstupu, můžete to vynechat. Pokud používáte několik příkazů, můžete jej umístit PAUZA příkaz mezi nimi.

    Psaní komplexnějšího dávkového souboru

    Je velmi jednoduché vytvořit dávkový soubor. Jediné, co potřebujete změnit, je to, co zadáváte do programu Poznámkový blok. Chcete-li spustit několik příkazů, zadejte každý z nich na vlastní řádek a dávkový soubor bude spouštět každý v pořádku.

    Řekněme například, že chceme napsat dávkový soubor, který spouští několik síťových diagnostických příkazů. Možná bychom chtěli běžet ipconfig / vše pro zobrazení informací o síti, ping google.com zda servery společnosti Google reagují, a tracert google.com spustit traceroute na google.com a zjistit, jestli jsou na cestě nějaké problémy.

    V nejzákladnější formě bychom jednoduše umístili všechny tyto příkazy do dávkového souboru, jeden po druhém, jako například:

    ipconfig / všechno ping google.com tracert google.com PAUSE

    Když jsme spustili tento soubor, viděli jsme výstup každého příkazu hned za druhým. Ale to není nezbytně ideální způsob, jak napsat dávkový soubor.

    Můžete například přidat řádek komentářů. Všechny řádky, které začínají znakem a ::: je řádek komentáře a nebude proveden. To z nich dělá užitečný způsob, jak vysvětlit, co se děje ve složce pro každého, koho byste mohl dát - nebo pro vaše budoucí já, kdo by mohl zapomenout, proč tam máte nějaký příkaz.

    Můžete také přidat příkaz "ECHO OFF" na začátek souboru. To se obvykle přidává ke startu většiny dávkových souborů. Když to uděláte, samotné příkazy nebudou vytištěny na příkazový řádek, ale výsledky budou. Zobrazí se například podrobnosti o připojení k síti, nikoliv však řádek "ipconfig / all". Většina lidí se o příkazy nezajímá, takže může vyčistit výstup.

    Takže to může vypadat takto:

    :: Tento dávkový soubor zkontroluje problémy s připojením k síti. ECHO OFF :: Zobrazit podrobnosti o připojení k síti ipconfig / all :: Zkontrolujte, zda je google.com dosažitelná ping google.com :: Spusťte traceroute pro kontrolu trasy na Google.com tracert google.com PAUSE

    Existují další směry, které byste mohli uložit s dávkovým souborem, jako je tento. Například byste mohli chtít, aby váš dávkový skript spustil výše uvedené příkazy a poté vynechal výstup do textového souboru, který si můžete později prohlížet. Chcete-li tak učinit, použijte >> operátor po každém příkazu připojit jeho výstup do textového souboru. Protože budeme číst výstup z textového souboru, můžeme to vynechat PAUZA příkaz.

    :: Tento dávkový soubor zkontroluje problémy s připojením k síti :: a uloží výstup do souboru TXT. ECHO OFF :: Zobrazit podrobnosti o připojení k síti ipconfig / all >> results.txt :: Zkontrolujte, zda je google.com dosažitelná ping google.com >> results.txt :: Spusťte traceroute a zkontrolujte trasu do Google.com tracert google. com >> results.txt

    Po spuštění výše uvedeného skriptu najdete soubor s názvem results.txt ve stejné složce jako dávkový soubor s výstupem příkazů. Okno Příkazový řádek se automaticky zavře po spuštění dávkového souboru.

    Příklad, který používáme výše, závisí na skutečném tisku informací do příkazového řádku, aby jej uživatel mohl přečíst. Však mnoho souborů dávky jsou navrženy tak, aby byly spuštěny neinteraktivně. Například byste mohli mít dávkový soubor, který odstraní více souborů nebo adresářů při každém poklepání na něj. Stačí, že byste měli použít del příkaz k odstranění souborů nebo deltree příkaz k vymazání adresářů. Pamatujte, že právě používáte stejné příkazy, které byste spustili v okně příkazového řádku.

    V podstatě to je bod většiny dávkových souborů - jen několik příkazů po sobě. Dávkové soubory však mohou být podstatně složitější než toto. Například můžete použít příkazy "IF" spolu s příkazem "GOTO", abyste zkontrolovali hodnotu něčeho a poté přeskočte na různé řádky v závislosti na výsledku. To je spíše psaní skutečného malého programu než rychlý a špinavý skript. To je jeden z důvodů, proč .bat soubory jsou někdy nazývány "dávkovými programy". Pokud chcete udělat něco složitějšího, najdete spoustu příruček, jak dělat konkrétní věci s dávkovým programováním online. Ale teď víte, jaké je jednoduché házet společně.