Oglas

Če veliko delate v paketnih datotekah Windows, ČE izjava ponuja zelo močan način za dodajanje prilagodljivosti v vaše skripte.

V tem članku boste spoznali pet glavnih vrst stavkov IF, ki jih lahko uporabite v paketni datoteki Windows, kako izgleda pravilna sintaksa in realističen primer za vsakega.

Če ste pripravljeni na začetek scenarijev, začnimo!

1. Primerjajte vrednosti

Ena od osnovnih stvari, ki jo običajno morate narediti v paketnem scenariju, je primerjamo dve vrednosti in sledite različnemu poteku, odvisno od primerjave.

Denimo, recimo, da ste želeli napisati paketni skript, ki dnevno preverja velikost trdega diska vašega računalnika. Če je pod 3 GB, želite prejeti e-poštno poročilo z napisom: "Prostor na trdem disku je prenizek."

Če želite ustvariti skript, ki primerja trenutni prosti prostor na trdem disku z vašo omejitvijo, ustvarite naslednji paketni skript in ga shranite kot .bat datoteko.

@echo off. nastavite DriveLimit = 300000000. za / f "usebackq delims == tokens = 2" %% x in (`wmic logicdisk kjer" DeviceID = 'C:' "dobite FreeSpace / format: vrednost`) nastavite FreeSpace = %% x. Echo FreeSpace = "% FreeSpace%" Omejitev odmeva = "% DriveLimit%" Če% FreeSpace% GTR% DriveLimit% (odmev. Prostega prostora je dovolj. ) drugo (odmev Ni dovolj prostega prostora. )

WMIC je komponenta sistema Windows Management Instrumentation, ki je na voljo s številnimi ukazi, ki jih lahko uporabite za črpanje informacij o računalniku. Tako ukaz "wmic" v tej skripti pokliče prostor "logicdisk" in ga umesti v spremenljivko FreeSpace. Zdaj lahko zamenjate vrstico "Echo Not dovolj prostega prostora" z ukazom blat e-poštno sporočilo, da vam pošljemo opozorilo.

Končno nastavite ta skript kot paketno časovno opravilo, ki se načrtuje za Windows.

Če še nikoli niste uporabljali blat, imamo članek, ki vam prikazuje kako nastaviti blat. Neznano z nastavitvijo načrtovanih delovnih mest? Prispeli smo na vaš članek o kako nastaviti Windows načrtovane naloge 4 dolgočasne naloge, ki jih lahko avtomatizirate s programom Windows Task SchedulerVaš čas je preveč dragocen, da bi ga zapravili s ponavljajočimi se nalogami. Naj vam pokažemo, kako avtomatizirati in načrtovati naloge. Imamo tudi nekaj odličnih primerov. Preberi več .

2. Primerjave strun

Druga dragocena primerjava IF, ki jo lahko opravite v paketnem delu, je primerjava strun.

V naslednjem primeru boste videli, kako preveriti svojo različico sistema Windows s pomočjo paketnega opravila. Nato lahko to primerjate s pričakovano različico sistema Windows.

Nekatere uporabe tega skripta bi bile namenjene revizijam IT, ko morate hitro zagnati skript in se prepričajte, ali je trenutni operacijski sistem najnovejši ali pa ga potrebuje nadgradnja.

Tukaj je videti, kako izgleda ta skript.

@echo off. za / f "žetone = 4-5 delims =. "%% i v ('ver") nastavi VERSION = %% i. %% j. če "% version%" == "6.0" odmeva Windows Vista. če "% version%" == "6.1" odmeva Windows 7. če "% version%" == "6.2" odmeva Windows 8. če "% version%" == "6.3" odmeva Windows 8.1. če "% version%" == "10.0" odmeva Windows 10. 

Tukaj je opisan izhod tega skripta.

Paketna datoteka, Windows, programiranje

Možnost primerjave nizov v paketu odpira cel seznam možnosti. Če raziščete vse informacije, ki jih lahko dobite iz ukaza WMIC videli boste, koliko statističnih podatkov o svojem računalniku lahko spremljate. Za opozarjanje na te lahko uporabite načrtovana paketna opravila.

3. Preverite, če datoteka obstaja

Še ena koristna situacija, ko naj bi bil izjava IF v paketni datoteki preverite obstoj podatkovne datoteke.

Velikokrat je paketno opravilo le orodje za spremljanje, ki ga je mogoče načrtovati, da preveri nove dohodne podatkovne datoteke v določenem imeniku.

Nato lahko paketno opravilo kopijo to datoteko na drugo mesto, kjer jo je mogoče obdelati, ali pa začne nekaj skripta Windows, ki datoteko obdela v izhod Excel.

(V preteklosti smo že pisali o tem uporabite skripte Windows za obdelavo podatkov v datoteko Excel 5 Uporabni skripti VB za avtomatizacijo uporabe računalnikaOd spremljanja spletnega mesta do sistemskih poročil, se naučite, kako avtomatizirati vse stvari s temi neverjetnimi skripti VB, ki jih lahko trenutno kodirate v sistemu Windows. Preberi več ; nekaj dobrega branja v ozadju.)

Uporaba paketne datoteke za preverjanje, ali datoteka obstaja v imeniku, je hitra in enostavna. Tukaj je videti, kako izgleda ta scenarij.

@echo off. če obstaja c: \ temp \ datafile.txt (% WINDIR% \ SysWOW64 \ cmd.exe cscript LoadToExcel.vbs. ) drugo (datoteka z datotekami ne obstaja )

Primerjava IF EXISTS je uporabna za veliko stvari.

Na primer, če imate zagnan sistem ali aplikacijo, ki ustvari nove dnevnike o napakah v določeni mapi, kadar obstajajo težava, lahko tako pogosto izvajate paketno opravilo in spremljate, ali so ustvarjeni novi dnevniki napak, da lahko pošljete opozorilo.

4. Preverite, če ukaz ni uspel

Vidik zapisov paketnih datotek, ki jih uporablja premalo ljudi ali programerjev preverjanje napak.

Naokoli plava veliko paketnih opravil, ki izvajajo kritične naloge IT, kot so varnostno kopiranje pomembnih datotek ali izvajanje operacij kopiranja datotek. Ko ta paketna opravila odpovejo, sistem ne uspe in ljudje to opazijo.

Veliko pametneje je biti opozorjen, ko vaš paketni posel ni uspel ukaza prej ljudje začnejo opažati. Tako lahko težave odpravite proaktivno.

To lahko storite z uporabo spremenljivke% errorlevel%, ki jo večina aplikacij in ukazov vrne po zagonu.

Vse, kar morate storiti, je, da sledite svojemu ukazu z ukazom IF% ERRORLEVEL%. Če sta aplikacija ali ukaz vrnila nič, je vse v redu. Če ne, potem morate sami poslati e-pošto.

@echo off. xcopy C: \ some folder E: \ backup folder. ČE% NAPAKA% NEQ 0 

Ni vam treba ubrati poti po e-pošti. Vedno lahko napišete dnevnik napak, ki ga lahko preverite vsako jutro, ali pa zaženete drugo aplikacijo ali ukaz, ki poskuša kopijo narediti z nadomestnim ukazom. Ne glede na to, kaj želite sprejeti, IF% ERRORLEVEL% vam to dovoli.

Če rabite IF izjavo za preverjanje posebnih kod napak, Windows ponuja precej obsežen seznam kod napak.

5. Preverite manjkajoče parametre

Zadnji uporabni stavek IF ni določen ukaz, temveč preverjanje skripta prejeli ustrezne vhodne parametre.

Recimo, da ste napisali skript, ki izvaja ukaz xcopy iz vhodne mape, v skupno mrežno mapo, ki jo uporablja ekipa. Uporabnik mora samo slediti imenu vašega skripta s parametri, ki definirajo njihovo osebno pot do datoteke.

Očitno skripta ne morete pravilno izvesti brez določene poti, zato lahko na začetek skripta postavite izjavo IF, da se prepričate, da sta bila vnesena oba parametra.

Tukaj je opisano.

@echo off. ČE [% 1] == [] ( GOTO pod-sporočilo. ) ELSE ( xcopy% 1 E: \ rezervna mapa. ) GOTO eof.: sub_message. odmev Ste pozabili določiti svojo pot.: eof.

Če še nikoli niste uporabili parametrov s paketnimi skripti, simbol odstotek, ki mu sledi številka, predstavlja spremenljivko parametra. % 1 je prvi parameter,% 2 je drugi in tako naprej.

Paketna delovna mesta so lahko močna

Mnogi začnejo uporabljati paketna opravila za preproste naloge, ki jih je treba izvajati zaporedno. Z izjavami IF je mogoče v vaše skripte dodati veliko več inteligence.

Seveda, če želite resnično stopiti zarezo, si oglejte VBA z našim vodičem ustvarite svojo prvo aplikacijo VBAali morda celo se naučite programiranja Pythona.

Pogosto lahko uporabite naprednejše programske jezike, kot je ta, ali naučite se uporabljati PowerShell 5 razlogov, da bi morali namesto paketnega skripta uporabiti PowerShellPowerShell je tisto, kar bi lahko dobili, če bi z ukaznim skriptom prečesali ukazni poziv, vrgli nekaj dodatnih funkcij in vse skupaj vrgli na nekaj zarez. Tukaj je več razlogov, da morate poskusiti. Preberi več , za izvajanje mnogih istih nalog, za katere trenutno uporabljate paketna opravila.

Ryan ima diplomo iz elektrotehnike. 13 let je delal v avtomatizacijskem inženiringu, 5 let v IT, zdaj pa je inženir Apps. Nekdanji glavni urednik MakeUseOf je govoril na nacionalnih konferencah o vizualizaciji podatkov in je bil predstavljen na nacionalni televiziji in radiu.