14Sep

Kako napisati batch skript v operacijskem sistemu Windows

click fraud protection

Ali veste, kako uporabiti ukazni poziv?Če to storite, lahko napišete paketno datoteko. V svoji najpreprostejši obliki je paketna datoteka( ali paketna skripta) seznam več ukazov, ki se izvedejo, ko dvokliknite datoteko. Batch datoteke segajo vse do DOS-a, vendar še vedno delujejo na sodobnih različicah operacijskega sistema Windows.

skripte PowerShell in skripti Bash so morda močnejši, vendar so lahko datoteke serije še vedno koristne, če morate zagnati osnovne ukaze Windows.

Batch File Basics

Paketna datoteka je preprosto besedilna datoteka, shranjena s pripono. bat. Napišete lahko enega z uporabo beležnice ali bolj naprednega urejevalnika besedil, kot je Notepad ++, vendar ne uporabljajte urejevalnika besedil, kot je Microsoft Word.

Ustvarimo preprosto batch datoteko. Najprej odprite Notepad. Vnesite naslednje vrstice:

ECHO OFF ECHO Pozdravljeni World PAUSE

Nato shranite datoteko tako, da kliknete Datoteka & gt;Shrani. Vnesite katero koli ime, ki ga želite, vendar zamenjajte privzeto razširitev. txt z razširitvijo. bat.

instagram viewer

Lahko ga na primer poimenujete hello_world.bat.

Zdaj imate paketno datoteko s končnico. bat. Dvokliknite, da jo zaženete. Ta posebna paketna datoteka nastavi ECHO( ki čisti izhod, tako da skrije ukaze, da se natisnejo na poziv, natisne besedilo »Hello World« na zaslon, nato pa čaka, da pritisnete tipko, preden se konča.

Čeniste dodali PAUSE v datoteko, batch datoteka bi preprosto zagnala svoje ukaze in nato samodejno zaprla. V tem primeru bi natisnili »Hello World« v okno in takoj zaprli okno ukaznega poziva.hitro izvedite ukaze, ne da bi videli izhod, to lahko izpustite.Če imate nekaj ukazov, lahko postavite ukaz PAUSE med njimi.

Pisanje bolj zapletene paketne datoteke

V osnovi je preprosto ustvariti paketno datoteko.stvar, ki jo morate spremeniti, je tisto, kar vnesete v Notepad. Če želite zagnati več ukazov, jih vnesete v svojo vrstico in paketna datoteka bo vsakokrat zaporedoma izvršila.

Na primer, recimo, želimo napisati batch datotekoteče sevukazi omrežne diagnostike. Morda želimo zagnati ipconfig / vse, da si ogledamo informacije o omrežju, ping google.com in ugotovimo, ali se Googlovi strežniki odzivajo, in tracing google.com, da zaženete traceroute na google.com in preverite, ali obstajajo kakšne težave na poti.

V najbolj osnovni obliki smo lahko preprosto postavili vse te ukaze v paketno datoteko, eno za drugo, tako:

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

Ko zaganjamo to datoteko,samo poglejte izhod vsakega ukaza takoj za drugim. Toda to ni nujno najboljši način za pisanje paketne datoteke.

Na primer, boste morda želeli dodati vrstice komentarjev. Vsaka vrstica, ki se začne z: :: : vrstico komentarja in se ne bo izvršila. To jim daje koristen način, da razloži, kaj se dogaja v datoteki, za vsakogar, ki mu ga lahko daste, ali za vašo prihodnost, ki bi lahko pozabili, zakaj vnesete določen ukaz tam.

Morda boste želeli dodati ukaz "ECHO OFF" na začetek datoteke. To se običajno doda na začetek večine paketnih datotek. Ko to storite, sami ukazi ne bodo natisnjeni v ukazni poziv, rezultati pa bodo. Na primer, boste videli podrobnosti omrežne povezave, ne pa linijo »ipconfig / all«.Večina ljudi ne skrbi, da bi videli ukaze, zato bi to lahko očistilo izhod.

Tukaj je tisto, kar bi lahko izgledalo:

: : Ta paketna datoteka preverja težave z omrežno povezavo. ECHO OFF: : Oglejte si podrobnosti o omrežni povezavi ipconfig / all: : Preverite, ali je Google.com dosegljiv ping google.com: : Zaženite sledi, da preverite pot do Google.com tracert google.com PAUSE

Obstajajo še druge smeri,s serijsko datoteko, kot je ta. Na primer, morda želite, da vaš skriptni paket sklene zgornje ukaze in nato izstopi v besedilno datoteko, ki si jo lahko ogledate pozneje. To storite tako, da uporabite & gt; & gt;operater po vsakem ukazu dodati svoj izhod v besedilno datoteko. Ker bomo v besedilni datoteki vseeno prebrali izhod, lahko izpustimo ukaz PAUSE.

: : Ta paketna datoteka preveri težave z omrežno povezavo: : in shrani izhod v datoteko. txt. ECHO OFF: : Oglejte si podrobnosti o omrežni povezavi ipconfig / all & gt; & gt;results.txt: : Preverite, ali je Google.com dosegljiv ping google.com & gt; & gt;results.txt: : Zaženite traceroute, da preverite pot do Google.com tracert google.com & gt; & gt;results.txt

Ko zaženete zgornji skript, boste našli datoteko z imenom results.txt v isti mapi kot batch datoteko z izhodom ukazov. Okno ukaznega poziva se bo samodejno zaprlo, ko bo batch datoteka opravljena.

Primer, ki ga uporabljamo zgoraj, temelji na dejanskem tiskanju podatkov v ukazni poziv, tako da ga lahko uporabnik prebere. Vendar pa je veliko paketnih datotek zasnovanih tako, da se ne izvajajo interaktivno. Na primer, lahko imate paketno datoteko, ki izbriše več datotek ali imenikov, ko jo dvokliknite. Samo z ukazom del bi izbrisali datoteke ali deltree ukaz za brisanje imenikov. Ne pozabite, da uporabljate le iste ukaze, ki ste jih zagnali v oknu Ukazni poziv.

To je osnova za večino paketnih datotek, ki vodijo nekaj ukazov ena za drugo. Vendar so lahko datoteke serije bistveno bolj zapletene od tega. Na primer, lahko uporabite izraz "IF" skupaj z ukazom "GOTO", da preverite vrednost nečesa in nato preskočite na različne vrstice glede na rezultat. To je bolj kot pisanje dejanskega malega programa kot hitri in umazani skripti. To je eden od razlogov, zakaj so datoteke. bat včasih imenovane "serijski programi". Če želite narediti nekaj bolj zapletenega, boste našli veliko vodnikov, da bi naredili določene stvari s programiranjem paketov na spletu. Zdaj pa poznate osnove, kako preprosto združiti skupaj.