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
Na primjer, možda ga želite nazvati
hello_world.bat
Ako niste dodali
PAUSE
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
PAUSE
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.com tracert google.com PAUSE
Kada pokrenemo ovu datoteku, vidjet ćemo izlaz svake naredbe odmah nakon drugog. Ali to nije nužno idealan način pisanja batch datoteke.
::
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:
:: This batch file checks for network connection problems. ECHO OFF:: View network connection details ipconfig /all:: Check if Google.com is reachable ping google.com:: Run a traceroute to check the route to Google.com tracert google.com PAUSE
>>
operatora nakon svake naredbe za dodavanje njegovog izlaza u tekstualnu datoteku. Kao što ćemo ionako čitati izlaz iz tekstualne datoteke, možemo izostaviti
PAUSE
naredba.
:: This batch file checks for network connection problems:: and saves the output to a.txt file. ECHO OFF:: View network connection details ipconfig /all >> results.txt:: Check if Google.com is reachable ping google.com >> results.txt:: Run a traceroute to check the route to 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.
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.