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

Viete, ako sa používa príkazový riadok? Ak tak urobíte, môžete napísať dávkový súbor. V najjednoduchšej podobe je dávkový súbor (alebo dávkový skript) zoznam niekoľkých príkazov, ktoré sa vykonajú po dvojitom kliknutí na súbor. Dávkové súbory sa vrátia úplne späť do systému DOS, ale stále fungujú na moderných verziách systému Windows.

Skripty PowerShell a Bash môžu byť výkonnejšie, ale dávkové súbory môžu byť stále užitočné, ak potrebujete spustiť základné príkazy systému Windows.

Základné informácie o dávkových súboroch

Dávkový súbor je jednoducho textový súbor uložený s príponou .bat. Jeden môžete napísať pomocou programu Poznámkový blok alebo pomocou pokročilejšieho textového editora, ako je napríklad Poznámkový blok ++, ale nepoužívajte textový procesor ako Microsoft Word.

Vytvorme jednoduchý dávkový súbor. Najskôr otvorte Poznámkový blok. Zadajte do nej nasledujúce riadky:

ECHO OFF ECHO Dobrý deň, PAUZA

Ďalej uložte súbor kliknutím na položky Súbor> Uložiť. Priraďte mu ľubovoľný názov, ale predvolenú príponu súboru .txt nahraďte príponou .bat.

Môžete ho napríklad pomenovať hello_world.bat.

Teraz máte dávkový súbor s príponou .bat. Dvojitým kliknutím ho spustíte. Tento konkrétny dávkový súbor vypne ECHO (ktoré vyčistí výstup skrytím príkazov pred tlačou po výzve, vytlačí na obrazovku text „Hello World“ a potom počká, kým stlačíte kláves, kým sa neskončí.

Ak ste PAUSEsúbor nepridali , dávkový súbor jednoducho spustí svoje príkazy a potom sa automaticky zatvorí. V takom prípade by to do okna vytlačilo „Hello World“ a potom okamžite zavrelo okno príkazového riadku. Ak chcete rýchlo spustiť príkazy bez toho, aby ste videli výstup, môžete to vynechať. Ak spúšťate niekoľko príkazov, môžete PAUSEpríkaz umiestniť medzi ne.

Zápis zložitejšieho dávkového súboru

Vytvorenie dávkového súboru je v zásade jednoduché. Jediná vec, ktorú musíte zmeniť, je to, čo napíšete do poznámkového bloku. Ak chcete spustiť niekoľko príkazov, zadajte každý z nich do vlastného riadku a dávkový súbor spustí každý z nich v uvedenom poradí.

Povedzme napríklad, že chceme napísať dávkový súbor, ktorý spúšťa niekoľko sieťových diagnostických príkazov. Možno budeme chcieť spustiť ipconfig /allprehliadanie informácií o sieti, ping google.comzistenie, či servery spoločnosti Google odpovedajú, a tracert google.comspustenie sledovacej trasy na google.com a zistenie, či na ceste nie sú nejaké problémy.

V najzákladnejšej podobe by sme mohli všetky tieto príkazy jednoducho umiestniť do dávkového súboru, jeden za druhým, napríklad takto:

ipconfig / všetko ping google.com tracert google.com PAUZA

Keď spustíme tento súbor, videli by sme výstup každého príkazu hneď za sebou. Toto však nemusí byť nevyhnutne ideálny spôsob zápisu dávkového súboru.

Napríklad budete chcieť pridať riadky komentárov. Akýkoľvek riadok, ktorý začína na, ::je riadok komentára a nebude vykonaný. To z nich robí užitočný spôsob, ako vysvetliť, čo sa deje v súbore, pre kohokoľvek, komu by ste ho mohli dať - alebo pre vaše budúce ja, ktoré by mohlo zabudnúť, prečo ste doň vložili určitý príkaz.

Možno budete tiež chcieť na začiatok súboru pridať príkaz „ECHO OFF“. Spravidla sa pridáva na začiatok väčšiny dávkových súborov. Keď to urobíte, samotné príkazy sa nevytlačia do príkazového riadku, ale výsledky budú. Napríklad uvidíte podrobnosti o sieťovom pripojení, ale nie riadok „ipconfig / all“. Väčšine ľudí nevadí vidieť príkazy, takže to môže vyčistiť výstup.

Takto by to mohlo vyzerať:

:: Tento dávkový súbor kontroluje problémy so sieťovým pripojením. ECHO OFF :: Zobraziť podrobnosti o sieťovom pripojení ipconfig / all :: Skontrolujte, či je Google.com dosiahnuteľný ping google.com :: Spustite traceroute a skontrolujte cestu na Google.com tracert google.com PAUSE

S dávkovým súborom, ako je tento, môžete podniknúť ďalšie pokyny. Napríklad možno budete chcieť, aby váš dávkový skript spustil vyššie uvedené príkazy a potom výstup vygeneroval do textového súboru, ktorý si môžete neskôr pozrieť. Ak to chcete urobiť, použite >>operátor po každom príkaze na pripojenie jeho výstupu do textového súboru. Pretože aj tak budeme čítať výstup z textového súboru, môžeme PAUSEpríkaz vynechať .

:: Tento dávkový súbor kontroluje problémy so sieťovým pripojením :: a ukladá výstup do súboru .txt. ECHO OFF :: Zobraziť podrobnosti o sieťovom pripojení ipconfig / all >> results.txt :: Skontrolujte, či je Google.com dostupný ping google.com >> results.txt :: Spustite traceroute a skontrolujte cestu na google.com tracert google. sk >> vysledky.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ého riadku sa automaticky zavrie, keď je dávkový súbor spustený.

Príklad, ktorý používame vyššie, sa spolieha na skutočnú tlač informácií do príkazového riadku, aby si ich používateľ mohol prečítať. Mnoho dávkových súborov je však navrhnutých na neinteraktívne spustenie. Môžete mať napríklad dávkový súbor, ktorý odstráni viac súborov alebo adresárov vždy, keď na ne dvakrát kliknete. Potrebujete iba delpríkaz na odstránenie súborov alebo deltreepríkaz na odstránenie adresárov. Pamätajte, že používate rovnaké príkazy, aké ste spustili v okne príkazového riadka.

To je v zásade zmysel väčšiny dávkových súborov - stačí spustiť niekoľko príkazov jeden za druhým. Dávkové súbory však môžu byť v skutočnosti podstatne zložitejšie. Napríklad pomocou príkazov „IF“ spolu s príkazom „GOTO“ môžete skontrolovať hodnotu niečoho a potom podľa výsledku preskočiť na rôzne riadky. Je to skôr ako písanie skutočne malého programu ako rýchly a špinavý skript. To je jeden z dôvodov, prečo sa súborom .bat niekedy hovorí „dávkové programy“. Ak chcete urobiť niečo zložitejšie, nájdete množstvo návodov na vykonávanie konkrétnych vecí pomocou online dávkového programovania. Ale teraz už poznáte základy toho, ako dať jeden jednoduchý dokopy.