Úvodná » ako » Ako napísať dávkový skript v systéme Windows

    Ako napísať dávkový skript v systéme Windows

    Viete, ako používať príkazový riadok? Ak tak urobíte, môžete napísať dávkový súbor. V najjednoduchšej forme je dávkový súbor (alebo dávkový skript) zoznam niekoľkých príkazov, ktoré sa spúšťajú pri dvojitom kliknutí na súbor. Dávkové súbory idú až do DOSu, ale stále pracujú na moderných verziách systému Windows.

    PowerShell skripty a Bash skripty môžu byť silnejšie, ale dávkové súbory môžu byť dosť užitočné, ak potrebujete spustiť základné príkazy systému Windows.

    Základy dávkového súboru

    Dávkový súbor je jednoducho textový súbor uložený s príponou súboru .bat. Môžete napísať jeden pomocou programu Poznámkový blok alebo pokročilejší textový editor ako Notepad ++, ale nepoužívajte textový procesor ako Microsoft Word.

    Vytvorme jednoduchý dávkový súbor. Najprv otvorte program Poznámkový blok. Doň zadajte nasledujúce riadky:

    ECHO OFF ECHO Hello World PAUSE

    Potom súbor uložte kliknutím na položku Súbor> Uložiť. Zadajte ľubovoľné meno, ktoré chcete, ale nahraďte predvolený prípon súboru .txt príponou .bat.

    Môžete napríklad zadať meno hello_world.bat .

    Teraz máte dávkový súbor s príponou súboru .bat. Dvojitým kliknutím ho spustite. Tento konkrétny dávkový súbor nastavuje režim ECHO (ktorý vyčistí výstup skrytím príkazov pred vytlačením na výzvu, vytlačí text "Hello World" na obrazovku a potom čaká na stlačenie klávesu pred tým, než skončí.

    Ak ste nepridali PAUZA do súboru dávkový súbor jednoducho spustil príkazy a potom sa automaticky zatvoril. V tomto prípade by sa okno "Hello World" vytlačilo a potom okno Okno príkazového riadku ihneď zavrieť. Ak chcete rýchlo spustiť príkazy bez zobrazenia výstupu, môžete to vynechať. Ak používate niekoľko príkazov, môžete ich umiestniť PAUZA medzi nimi.

    Napísanie komplexnejšieho dávkového súboru

    Je veľmi jednoduché vytvoriť dávkový súbor. Jediná vec, ktorú potrebujete zmeniť, je to, čo zadáte do programu Poznámkový blok. Ak chcete spustiť niekoľko príkazov, napíšete ich na vlastnú linku a dávkový súbor sa bude spúšťať každý v poradí.

    Povedzme napríklad, že chceme napísať dávkový súbor, ktorý spustí niekoľko príkazov sieťovej diagnostiky. Možno by sme chceli bežať ipconfig / všetko zobraziť informácie o sieti, ping google.com či servery spoločnosti Google reagujú, a tracert google.com spustiť traceroute na google.com a zistiť, či na ceste nie sú žiadne problémy.

    V najzákladnejšej forme by sme jednoducho mohli umiestniť všetky tieto príkazy do dávkového súboru, jeden po druhom, takto:

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

    Keď spustíme tento súbor, vidíme len výstup každého príkazu hneď za druhým. Ale to nie je nevyhnutne ideálny spôsob, ako napísať dávkový súbor.

    Môžete napríklad pridať riadky komentárov. Každý riadok, ktorý začína znakom a :: je riadok komentára a nebude vykonaný. To je užitočný spôsob, ako vysvetliť, čo sa deje v súbore pre každého, koho by ste mohli dať - alebo pre vaše budúce seba, kto by mohol zabudnúť na to, prečo si tam dal istý príkaz.

    Môžete tiež pridať príkaz "ECHO OFF" na začiatok súboru. To sa zvyčajne pridáva na začiatok väčšiny dávkových súborov. Keď to urobíte, samotné príkazy nebudú vytlačené na príkazový riadok, ale výsledky budú. Zobrazia sa napríklad podrobnosti o sieťovom pripojení, ale nie riadok "ipconfig / all". Väčšina ľudí nemá záujem vidieť príkazy, takže to môže vyčistiť výstup.

    Takže to by mohlo vyzerať takto:

    :: Tento dávkový súbor skontroluje problémy s pripojením k sieti. ECHO OFF :: Zobraziť podrobnosti o pripojení k sieti ipconfig / all :: Skontrolujte, či je Google.com prístupný ping google.com :: Spustite traceroute na kontrolu trasy na Google.com tracert google.com PAUSE

    Existujú ďalšie pokyny, ktoré by ste mohli použiť s takýmto dávkovým súborom. Napríklad, možno budete chcieť, aby váš skript v batch spustil vyššie uvedené príkazy a potom výpis výpisu do textového súboru, ktorý si môžete pozrieť neskôr. Ak to chcete urobiť, použite >> operátor po každom príkaze pripojiť svoj výstup do textového súboru. Keď budeme čítať výstup z textového súboru, môžeme to vynechať PAUZA príkaz.

    :: Tento dávkový súbor skontroluje problémy s pripojením k sieti :: a uloží výstup do súboru .txt. ECHO OFF :: Zobrazenie podrobností o pripojení k sieti ipconfig / all >> results.txt :: Skontrolujte, či je google.com prístupná ping google.com >> results.txt :: Spustite traceroute na kontrolu trasy na Google.com tracert google. com >> results.txt

    Po spustení vyššie uvedeného skriptu nájdete súbor s názvom results.txt v rovnakom priečinku ako dávkový súbor s výstupom príkazov. Okno Príkazový riadok sa automaticky ukončí po spustení dávkového súboru.

    Príklad, ktorý používame vyššie, sa opiera o skutočné informácie o tlači na príkazový riadok, aby ich používateľ mohol čítať. Avšak mnohé dávkové súbory sú navrhnuté tak, aby boli spustené neinteraktívne. Napríklad by ste mohli mať dávkový súbor, ktorý vymaže viac súborov alebo adresárov vždy, keď dvakrát kliknete na ne. Stačí, keby ste použili del príkaz na odstránenie súborov alebo súborov deltree príkaz na vymazanie adresárov. Pamätajte, že používate rovnaké príkazy, ktoré by ste spustili v okne príkazového riadka.

    V podstate je to bod väčšiny dávkových súborov - stačí niekoľko príkazov za sebou. Dávkové súbory však môžu byť podstatne zložitejšie. Napríklad môžete použiť príkazy "IF" spolu s príkazom "GOTO", aby ste skontrolovali hodnotu niečoho a potom preskočili na rôzne riadky v závislosti na výsledku. To je skôr písanie skutočného malého programu ako rýchly a špinavý skript. To je jeden z dôvodov, prečo sú súbory .bat niekedy nazývané "dávkové programy". Ak chcete urobiť niečo zložitejšie, nájdete veľa sprievodcov, ktoré robia konkrétne veci s dávkovým programovaním online. Teraz však poznáte základy toho, ako jednoducho spoločne hodiť.