Skelbimas

Jei daug dirbate su „Windows“ paketiniais failais, IF teiginys siūlo labai galingą būdą, kaip padidinti scenarijų lankstumą.

Šiame straipsnyje sužinosite apie penkis pagrindinius IF teiginių tipus, kuriuos galite naudoti „Windows“ paketo faile, kaip atrodo teisinga sintaksė ir realus kiekvieno jų pavyzdys.

Jei esate pasirengęs pradėti scenarijus, pradėkime!

1. Palyginkite vertes

Vienas pagrindinių dalykų, kuriuos paprastai turite padaryti paketo scenarijuje, yra palyginkite dvi reikšmes ir atlikite kitokį veiksmą, atsižvelgiant į palyginimą.

Pvz., Tarkime, kad norėjote parašyti paketinį scenarijų, kuris kasdien tikrintų jūsų kompiuterio standžiojo disko dydį. Jei mažiau nei 3 GB, norite gauti el. Pašto pranešimą, kuriame sakoma: „Vietos standžiajame diske yra per mažai“.

Norėdami sukurti scenarijų, kuriame būtų palyginta dabartinė laisvo standžiojo disko vieta su jūsų limitu, turėtumėte sukurti šį paketinį scenarijų ir išsaugoti jį kaip .bat failą.

@echo išjungta. nustatykite „DriveLimit“ = 300000000. / f "usebackq delims == tokens = 2" %% x in (`wmic loginis diskas, kur„ DeviceID = 'C:' “„ gauti „FreeSpace“ / formatas: reikšmė “) nustatykite„ FreeSpace = %% x “. Echo FreeSpace = "% FreeSpace%" Echo Limit = "% DriveLimit%" Jei% FreeSpace% GTR% DriveLimit% (Echo Yra pakankamai laisvos vietos. ) else (Aidas Nepakanka laisvos vietos. )
instagram viewer

WMIC yra „Windows“ valdymo sistemos „Windows“ komponentas, pateikiamas su komandų rinkiniu, kurį galite naudoti norėdami surinkti informaciją apie kompiuterį. Štai kaip „wmic“ komanda šiame scenarijuje vadina „loginio disko“ erdvę ir įdeda ją į „FreeSpace“ kintamąjį. Dabar galite tiesiog pakeisti eilutę „Aidas nepakanka laisvos vietos“ į el. Pašto komandą, kad išsiųstų jums įspėjimą.

Galiausiai nustatykite šį scenarijų kaip „Windows“ suplanuotą paketinį darbą, kuris vykdomas kasdien.

Jei niekada anksčiau nenaudojote blatos, turime straipsnį, kuriame jums parodyta kaip nustatyti blatą. Nežinote nustatyti suplanuotų darbų? Mes jus įtraukėme į straipsnį apie kaip nustatyti "Windows" suplanuotas užduotis 4 nuobodžios užduotys, kurias galite automatizuoti naudodami „Windows“ užduočių planuoklęJūsų laikas yra per daug vertingas, kad galėtumėte iššvaistyti kartojamas užduotis. Leiskite mums parodyti, kaip automatizuoti ir suplanuoti užduotis. Turime ir keletą puikių pavyzdžių. Skaityti daugiau .

2. Styginiai palyginimai

Kitas vertingas IF palyginimas, kurį galite atlikti paketiniame darbe, yra lyginant stygas.

Šiame pavyzdyje pamatysite, kaip patikrinti „Windows“ versiją naudojant paketinį darbą. Tada galite palyginti tai su jūsų numatoma „Windows“ versija.

Kai kurie šio scenarijaus naudojimo būdai bus skirti IT auditui, kai reikia greitai paleisti scenarijų ir įsitikinti, ar dabartinė operacinė sistema yra naujausia, ar ją reikia atnaujinti.

Štai kaip atrodo šis scenarijus.

@echo išjungta. už / f "žetonus = 4-5 delimai =. „%% i“ („ver“) nustato VERSION = %% i. %% j. jei „% version%“ == „6.0“ pakartoja „Windows Vista“. jei „% version%“ == „6.1“ atkartoja „Windows 7“. jei „% version%“ == „6.2“ atkartoja „Windows 8“. jei „% version%“ == „6.3“ atkartoja „Windows 8.1“. jei „% version%“ == „10.0“ atkartoja „Windows 10“. 

Štai kaip atrodo šio scenarijaus išvestis.

Paketinis failas, „Windows“, programavimas

Galimybė palyginti eilutes paketais atveria visą galimybių sąrašą. Jei ištirsite visus informacijos, kurią galite gauti iš WMIC komandos pamatysite, kiek statistikos apie kompiuterį galite stebėti. Perspėjimui apie juos galite naudoti suplanuotas paketines užduotis.

3. Patikrinkite, ar nėra failo

Kita naudinga situacija, kai turi būti IF teiginys paketiniame faile patikrinkite, ar nėra duomenų failo.

Daugybę kartų paketinis darbas yra tik stebėjimo įrankis, kuris gali būti suplanuotas tikrinti, ar nėra naujų gaunamų duomenų failų konkrečiame kataloge.

Tada paketinis darbas gali arba nukopijuoti tą failą į kitą vietą, kur jis gali būti apdorotas, arba paleisti kai kurį „Windows“ scenarijų, kuris apdoroja failą į „Excel“ išvestį.

(Anksčiau rašėme, kaip naudoti „Windows“ scenarijus duomenims apdoroti į „Excel“ failą 5 naudingi „VB Windows“ scenarijai kompiuterio naudojimui automatizuotiNuo svetainės stebėjimo iki sistemos ataskaitų sužinokite, kaip automatizuoti visus dalykus, naudojant šiuos nuostabius VB scenarijus, kuriuos šiuo metu galite koduoti „Windows“. Skaityti daugiau ; keletas gerų fono skaitymų.)

Greitas ir lengvas paketinio failo naudojimas norint patikrinti, ar failas yra kataloge. Štai kaip atrodo šis scenarijus.

@echo išjungta. jei yra c: \ temp \ datafile.txt (% WINDIR% \ SysWOW64 \ cmd.exe cscript LoadToExcel.vbs). ) else (rem failas neegzistuoja. )

IF EXISTS palyginimas yra naudingas daugeliui dalykų.

Pvz., Jei veikia sistema ar programa, kuri sukuria naujus klaidų žurnalus konkrečiame aplanke, kai ten yra Jei turite problemų, galite taip dažnai vykdyti paketinę užduotį, kad galėtumėte stebėti, ar nėra kuriami nauji klaidų žurnalai, kad galėtumėte siųsti budrus.

4. Patikrinkite, ar komanda nepavyko

Paketinių failų scenarijų scenarijus, kurį naudoja per mažai IT žmonių ar programuotojų tikrinant, ar nėra klaidų.

Yra daugybė paketinių darbų, atliekančių svarbiausias IT užduotis, pvz., Svarbių failų atsarginių kopijų kūrimą ar failų kopijavimo operacijas. Kai šie paketiniai darbai nepavyksta, sistemos sugenda ir žmonės tai pastebi.

Daug protingiau gauti perspėjimą, kai nepavyko atlikti komandinio darbo prieš tai žmonės pradeda pastebėti. Tokiu būdu galite išspręsti problemą proaktyviai.

Tai galite padaryti naudodami kintamąjį% errorlevel%, kurį dauguma programų ir komandų grąžina po jų paleidimo.

Viskas, ką jums reikia padaryti, tai sekti savo komanda, įvesta komanda IF% ERRORLEVEL%. Jei programa ar komanda grąžino nulį, viskas gerai. Jei ne, tuomet turite atsiųsti sau el. Laišką.

@echo išjungta. xcopy C: \ somefolder E: \ backupfolder. IF% KLAIDŲ% NEQ 0 

Jums nereikia pasirinkti maršruto el. Paštu. Visada galėjote parašyti klaidų žurnalą, kurį galėtumėte tikrinti kiekvieną rytą, arba paleisti antrąją programą ar komandą, kuri bando padaryti kopiją naudojant kitą komandą. Kad ir kokio veiksmo norėtumėte imtis, IF% ERRORLEVEL% leidžia jums tai padaryti.

Jei verčiau naudotumėte IF teiginį, kad patikrintumėte konkrečius klaidų kodus, „Windows“ siūlo puikų variantą platus klaidų kodų sąrašas.

5. Patikrinkite, ar trūksta parametrų

Paskutinis naudingas IF sakinys nėra konkreti komanda, o patikrinama, ar scenarijus gavo atitinkamus įvesties parametrus.

Pvz., Tarkime, kad jūs parašėte scenarijų, kuris vykdo xcopy komandą iš įvesties aplanko į bendrą tinklo aplanką, kurį naudoja komanda. Vartotojui tereikia sekti jūsų scenarijaus pavadinimą nurodant parametrus, apibrėžiančius jų asmeninio failo kelią.

Akivaizdu, kad negalite tinkamai vykdyti scenarijaus nenurodydami kelio, todėl scenarijaus pradžioje galite įdėti IF sakinį, kad įsitikintumėte, jog abu parametrai buvo įvesti.

Štai kaip tai atrodo.

@echo išjungta. JEI [% 1] == [] ( GOTO antrinis pranešimas. ) KITAS ( „xcopy% 1 E“: atsarginis aplankas. ) GOTO eof.: antrinis pranešimas. aidas Pamiršote nurodyti savo kelią.: eof.

Jei anksčiau niekada nenaudojote parametrų su paketiniais scenarijais, procento simbolis, einantis po skaičiaus, nurodo parametro kintamąjį. % 1 yra pirmasis parametras,% 2 yra antrasis ir tt.

Grupiniai darbai gali būti galingi

Daugelis žmonių pradeda naudoti paketines užduotis paprastoms užduotims, kurias reikia atlikti iš eilės. Naudodamiesi IF teiginiais, scenarijus galite pridėti daug daugiau informacijos.

Žinoma, jei tikrai norite paaukštinti, galite apsvarstyti galimybę pažvelgti į VBA su mūsų vadovu kurdami savo pirmąją VBA programą, o gal net išmokti Python programavimo.

Jūs dažnai galite naudoti sudėtingesnes programavimo kalbas, tokias kaip šios, arba išmokti naudotis „PowerShell“ 5 priežastys, kodėl turėtumėte naudoti „PowerShell“, o ne paketo scenarijus„PowerShell“ yra tai, ko jūs gautumėte, jei peržengtumėte komandų eilutę naudodami paketinį scenarijų, įmesite keletą papildomų funkcijų ir visa tai panaudotumėte keliomis dalimis. Turėtumėte tai išbandyti dėl kelių priežasčių. Skaityti daugiau , atlikti daugelį tų pačių užduočių, kurioms šiuo metu naudojate paketinius darbus.

Ryanas turi elektros inžinerijos bakalauro laipsnį. Jis 13 metų dirbo automatikos inžinerijoje, 5 metus IT srityje, o dabar yra programų inžinierius. Buvęs „MakeUseOf“ generalinis redaktorius, jis kalbėjo nacionalinėse duomenų vizualizacijos konferencijose ir buvo rodomas per nacionalinę televiziją ir radiją.