If-Koubou

Kako napisati batch skriptu u sustavu Windows

Kako napisati batch skriptu u sustavu Windows (Kako da)

Znaš li kako koristiti naredbeni redak? Ako to učinite, možete napisati batch datoteku. U najjednostavnijem obliku, batch datoteka (ili batch skripta) je popis nekoliko naredbi koje se izvršavaju kada dvaput kliknete datoteku. Batch datoteke sežu sve do DOS-a, ali još uvijek rade na modernim verzijama sustava Windows.

PowerShell skripte i skripte Bash mogu biti snažnije, ali batch datoteke još uvijek mogu biti korisne ako trebate pokrenuti osnovne naredbe sustava Windows.

Osnove batch datoteke

Batch datoteka je jednostavno tekstualna datoteka spremljena s ekstenzijom .bat datoteke. Možete ga pisati pomoću Notepada ili naprednijeg uređivača teksta kao što je Notepad ++, ali nemojte koristiti program za obradu teksta kao što je Microsoft Word.

Napravimo jednostavnu batch datoteku. Najprije otvorite Notepad. Unesite sljedeće retke u nju:

ECHO OFF ECHO Hello World PAUSE

Zatim spremite datoteku klikom na Datoteka> Spremi. Dajte mu ime koje vam se sviđa, ali zamijenite zadanu ekstenziju .txt datoteke s proširenjem .bat.

Na primjer, možda ga želite nazvati hello_world.bat .

Sada imate batch datoteku s nastavkom .bat datoteke. Dvaput kliknite na njega da biste ga pokrenuli. Ova posebna skupna datoteka isključuje ECHO (čime se čisti ispis skrivajući zapovijedi da se ispisuju na upit, ispisuje tekst "Hello World" na zaslonu, a zatim čeka da pritisnete tipku prije nego što završite.

Ako niste dodali PAUZA u datoteku, batch datoteka bi jednostavno pokrenuti naredbe i onda automatski zatvoriti. U tom će slučaju ispisati "Hello World" u prozor, a zatim odmah zatvoriti prozor naredbenog retka. Kada želite brzo pokrenuti naredbe bez vidljivog izlaza, možete to izostaviti. Ako imate nekoliko naredbi, možete staviti PAUZA naredba između njih.

Pisanje složenijih batch datoteka

U osnovi je jednostavno stvoriti batch datoteku. Jedina stvar koju trebate promijeniti je ono što upišete u Notepad. Da biste pokrenuli nekoliko naredbi, upišite svaki u svoj red i batch datoteka će se pokrenuti svaki redom.

Na primjer, recimo da želimo napisati batch datoteku koja pokreće nekoliko mrežnih dijagnostičkih naredbi. Možda bismo htjeli trčati ipconfig / all za pregled informacija o mreži, ping google.com da biste vidjeli reagiraju li Googleovi poslužitelji i tracert google.com pokrenuti traceroute na google.com i vidjeti je li bilo kakvih problema na putu.

U najosnovnijem obliku možemo jednostavno staviti sve te naredbe u serijsku datoteku, jedna za drugom, tako:

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

Kada pokrenemo ovu datoteku, vidjet ćemo izlaz svake naredbe odmah nakon drugog. Ali to nije nužno idealan način pisanja batch datoteke.

Na primjer, možda biste htjeli dodati retke komentara. Svaka linija koja započinje a :: je linija komentara i neće se izvršiti. To im čini korisnim načinom objašnjavanja onoga što se događa u datoteci za svakoga koga biste mu mogli dati - ili za buduće jastvo, koji bi mogao zaboraviti zašto stavite određenu zapovijed.

Možda biste također trebali dodati naredbu "ECHO OFF" na početak datoteke. To se obično dodaje na početak većine batch datoteka. Kada to učinite, same naredbe neće biti ispisane na naredbeni redak, ali rezultati će biti. Na primjer, vidjet ćete pojedinosti o mrežnoj vezi, ali ne i "ipconfig / all". Većina ljudi ne želi vidjeti naredbe, tako da to može očistiti izlaz.

Evo što bi to moglo izgledati:

:: Ova batch datoteka provjerava probleme veze s mrežom. ECHO OFF :: Pogledaj pojedinosti o mrežnoj vezi ipconfig / all :: Provjerite je li Google.com dostupan ping google.com :: Pokrenite traceroute da biste provjerili put do Google.com tracert google.com PAUSE

Postoje i drugi smjerovi s ovim batch datotekom. Na primjer, možda želite započeti s nadogradnjom gore navedenih naredbi, a zatim izlaz izlaziti u tekstualnu datoteku koju možete vidjeti kasnije. Da biste to učinili, upotrijebili biste >> operatora nakon svake naredbe za dodavanje njegovog izlaza u tekstualnu datoteku. Kao što ćemo ionako čitati izlaz iz tekstualne datoteke, možemo izostaviti PAUZA naredba.

:: Ova batch datoteka provjerava probleme veze s mrežom :: i sprema izlaz u .txt datoteku. ECHO OFF :: Pogledajte pojedinosti o mreži za povezivanje ipconfig / all >> results.txt :: Provjerite je li Google.com dostupan ping google.com >> results.txt :: Pokrenite traceroute da biste provjerili put do Google.com tracert google. com >> results.txt

Nakon što pokrenete gore navedenu skriptu, pronaći ćete datoteku named Results.txt u istoj mapi kao i batch datoteka s izlazom naredbi. Prozor naredbenog retka automatski će se zatvoriti nakon što se batch datoteka izvodi.

Primjer koji koristimo iznad se oslanja na stvaranje podataka na naredbeni redak tako da ga korisnik može pročitati. Međutim, mnoge batch datoteke dizajnirane su da se ne pokreću interaktivno. Na primjer, možete imati batch datoteku koja briše više datoteka ili direktorija kad god je dvaput kliknete. Trebali biste samo koristiti del naredba za brisanje datoteka ili deltree naredba za brisanje direktorija. Zapamtite, samo koristite iste naredbe koje biste pokrenuli u prozoru naredbene retke.

U osnovi, to je točka većine batch datoteka-samo trčanje nekoliko naredbi jedna za drugom. Međutim, skupne datoteke mogu biti značajno složenije od toga. Na primjer, možete upotrijebiti izjave "IF" uz naredbu "GOTO" kako biste provjerili vrijednost nečega, a zatim preskočite na različite retke ovisno o rezultatu. To je više poput pisanja stvarnog malog programa od brze i prljave skripte.To je jedan od razloga zašto se .bat datoteke ponekad nazivaju "serijskim programima". Ako želite nešto učiniti složenijim, naći ćete mnogo vodiča za rad s određenim stvarima s batch programiranjem na mreži. Ali sada, znate osnove kako baciti jednostavnu zajedno.