14Sep

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

click fraud protection

Víte, jak používat příkazový řádek? Pokud tak učiníte, můžete napsat dávkový soubor. V 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. Skripty

PowerShell 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ý procesor jako Microsoft Word.

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

ECHO OFF ECHO Dobrý svět PAUSE

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

instagram viewer

Například můžete chtít 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 vypíná 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 pak čeká na stisknutí tlačítka před tím, než skončí.)

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

Psaní složitějšího dávkového souboru

Je velmi jednoduché vytvořit dávkový soubor.věc, kterou je třeba změnit, je to, co píšete do programu Poznámkový blok. Pro spuštění několika příkazů zadejte každý na jeho vlastní řádku a dávkový soubor bude spouštět každý v pořadí.

Například řekněme, že chceme napsat dávkový soubor, kterýběží sevdiagnostické příkazy sítě.Mohli bychom chtít spustit ipconfig / vše pro zobrazení informací o síti, ping google.com, abyste zjistili, zda servery Google reagují, a tracert google.com spustit traceroute na google.com a zjistit, zda na cestě nejsou nějaké problémy.

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

ipconfig / all ping google.com tracert google.com PAUSE

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

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

Také můžete 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 provedete, samotné příkazy nebudou vytištěny na příkazovém řádku, 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 by mohlo vypadat takto:

: : Tento dávkový soubor kontroluje 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 jíts tímto dávkovým souborem. Například byste mohli chtít, aby váš dávkový skript spustil výše uvedené příkazy a pak výpis výpisu do textového souboru, který můžete zobrazit později. Chcete-li tak učinit, použijete & gt; & gt;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 vynechat příkaz PAUSE.

: : 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 & gt; & gt;results.txt: : Zkontrolujte, zda je google.com dosažitelná ping google.com & gt; & gt;results.txt: : Spusťte traceroute pro kontrolu trasy na Google.com tracert google.com & gt; & gt;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. Nicméně mnoho dávkových souborů je navrženo tak, aby bylo spouštěno 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. Pro odstranění souborů nebo příkazu deltree byste měli vymazat adresáře pomocí příkazu del. Pamatujte, že právě používáte stejné příkazy, které byste spustili v okně příkazového řádku.

V podstatě je to 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. Můžete například 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é jsou základy toho, jak hodit jeden společně.