5 IF pareiškimai, naudojami protingesniems „Windows“ paketiniams scenarijams

5 IF pareiškimai, naudojami protingesniems „Windows“ paketiniams scenarijams

Jei daug dirbate su „Windows“ paketiniais failais, IF pareiškimas siūlo labai galingą būdą, kaip pridėti scenarijų lankstumą.





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





Jei esate pasirengęs pradėti scenarijų kūrimą, pradėkime!





1. Palyginkite vertybes

Vienas iš pagrindinių dalykų, kuriuos paprastai reikia padaryti paketiniame scenarijuje, yra palyginti dvi vertes ir atlikite skirtingą veiksmų eigą, priklausomai nuo palyginimo.

Pavyzdžiui, norime parašyti paketinį scenarijų, kuris kasdien tikrina kompiuterio standžiojo disko dydį. Jei jis yra mažesnis nei 3 GB, norite gauti el. Pašto ataskaitą, kurioje sakoma: „Vietos standžiajame diske per mažai“.



Jei norite sukurti scenarijų, kuris palygina esamą laisvos vietos standžiajame diske ribą, sukurkite šį paketinį scenarijų ir išsaugokite jį kaip .bat failą.

@echo off
set DriveLimit=300000000
for /f 'usebackq delims== tokens=2' %%x in (`wmic logicaldisk where 'DeviceID='C:'' get FreeSpace /format:value`) do set FreeSpace=%%x
Echo FreeSpace='%FreeSpace%'
Echo Limit='%DriveLimit%'
If %FreeSpace% GTR %DriveLimit% (
Echo There is enough free space.
) else (
Echo Not enough free space.
)

WMIC yra „Windows“ valdymo priemonių instrumentų „Windows“ komponentas, pateikiamas su daugybe komandų, kuriomis galite gauti kompiuterio informaciją. Štai kaip šio scenarijaus komanda „wmic“ vadina „loginį diską“ ir įdeda jį į „FreeSpace“ kintamąjį. Dabar galite tiesiog pakeisti eilutę „Aidas Nepakankama laisvos vietos vieta“ su tuščia el. Pašto komanda, kad išsiųstumėte jums įspėjimą.





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

Jei niekada anksčiau nenaudojote „Blat“, turime straipsnį, kuriame parodyta, kaip nustatyti „Blat“. Nesate susipažinęs su suplanuotomis užduotimis? Pateikėme straipsnį apie tai, kaip nustatyti „Windows“ suplanuotas užduotis.





2. Styginių palyginimai

Kitas vertingas IF palyginimas, kurį galite atlikti atlikdami paketinį darbą, yra lyginant stygas .

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

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

Štai kaip atrodo šis scenarijus.

@echo off
for /f 'tokens=4-5 delims=. ' %%i in ('ver') do set VERSION=%%i.%%j
if '%version%' == '6.0' echo Windows Vista.
if '%version%' == '6.1' echo Windows 7
if '%version%' == '6.2' echo Windows 8
if '%version%' == '6.3' echo Windows 8.1
if '%version%' == '10.0' echo Windows 10.

Štai kaip atrodo šio scenarijaus išvestis.

Galimybė palyginti eilutes partijomis atveria visą galimybių sąrašą. Jei tyrinėtumėte visus informaciją, kurią galite gauti iš WMIC komandos pamatysite, kiek jūsų kompiuterio statistikos galite stebėti. Norėdami tai padaryti, galite naudoti suplanuotas paketines užduotis.

3. Patikrinkite, ar yra failas

Kita naudinga situacija, kai IF sakinys paketiniame faile yra patikrinti, ar nėra duomenų failo .

Daug kartų paketinis darbas yra tik stebėjimo įrankis, kuris gali būti suplanuotas patikrinti naujus gaunamus duomenų failus konkrečiame kataloge.

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

(Anksčiau rašėme, kaip tai padaryti duomenų apdorojimui į „Excel“ failą naudokite „Windows“ scenarijus ; geras fono skaitymas.)

Paketinio failo naudojimas norint patikrinti, ar kataloge yra failas, yra greitas ir paprastas. Štai kaip atrodo tas scenarijus.

@echo off
if exist c: empdatafile.txt (
%WINDIR%SysWOW64cmd.exe
cscript LoadToExcel.vbs
) else (
rem file doesn't exist
)

IF EXISTS palyginimas yra naudingas daugeliui dalykų.

Pvz., Jei turite sistemą ar programą, kuri sukuria naujus klaidų žurnalus konkrečiame aplanke, kai iškyla problema, galite kaskart paleisti paketinį darbą, kad stebėtumėte, ar yra sukurti nauji klaidų žurnalai, kad galėtumėte siųsti įspėjimą.

4. Patikrinkite, ar komanda nepavyko

Paketinių failų scenarijaus aspektas, kurį naudoja per mažai IT žmonių ar programuotojų klaidų tikrinimas .

Aplinkui sklando daugybė paketinių darbų, kurie atlieka svarbias IT užduotis, pavyzdžiui, kuria atsargines svarbių failų kopijas arba vykdo failų kopijavimo operacijas. Kai šie paketiniai darbai nepavyksta, sistemos sugenda ir žmonės tai pastebi.

Daug protingiau gauti įspėjimą, kai jūsų paketinis darbas nepavyko anksčiau žmonės pradeda pastebėti. Tokiu būdu galite aktyviai išspręsti problemą.

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

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

@echo off
xcopy C:
omefolder E:ackupfolder
IF %ERRORLEVEL% NEQ 0

Jums nereikia pasirinkti el. Pašto maršruto. Visada galite parašyti klaidų žurnalą, kurį galite patikrinti kiekvieną rytą, arba paleisti antrą programą ar komandą, kuri bando atlikti kopiją naudodami alternatyvią komandą. Kad ir kokių veiksmų norėtumėte imtis, IF % ERRORLEVEL % leidžia jums tai padaryti.

Jei norėtumėte naudoti IF teiginį, kad patikrintumėte konkrečius klaidų kodus, „Windows“ siūlo gana platus klaidų kodų sąrašas .

5. Patikrinkite, ar nėra trūkstamų parametrų

Paskutinis naudingas IF teiginys nėra konkreti komanda, o patikrinti, ar scenarijus gavo reikiamus įvesties parametrus .

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

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

Štai kaip tai atrodo.

@echo off
IF [%1]==[] (
GOTO sub_message
) ELSE (
xcopy %1 E:ackupfolder
)
GOTO eof
:sub_message
echo You forgot to specify your path.
:eof

Jei niekada nenaudojote parametrų su paketiniais scenarijais, procentinis simbolis, po kurio eina skaičius, reiškia parametro kintamąjį. %1 yra pirmasis parametras, %2 yra antras ir pan.

Paketiniai darbai gali būti galingi

Daugelis žmonių pradeda naudoti paketines užduotis paprastoms užduotims atlikti, kurias reikia atlikti iš eilės. Naudojant IF teiginius, galima į savo scenarijus įtraukti daug daugiau intelekto.

Žinoma, jei tikrai norite tai padaryti aukštyn, galite apsvarstyti galimybę pažvelgti į VBA su mūsų vadovu kuriant pirmąją VBA programą , o gal net išmokti programuoti „Python“.

Dažnai galite naudoti pažangesnes programavimo kalbas, tokias kaip šios, arba išmokti naudotis „PowerShell“, kad atliktumėte daugelį tų pačių užduočių, kurioms šiuo metu naudojate paketines užduotis.

Dalintis Dalintis „Tweet“ Paštu Ištrinkite šiuos „Windows“ failus ir aplankus, kad atlaisvintumėte vietos diske

Reikia išvalyti vietos diske „Windows“ kompiuteryje? Čia yra „Windows“ failai ir aplankai, kuriuos galima saugiai ištrinti, kad būtų atlaisvinta vietos diske.

Skaityti toliau
Susijusios temos
  • „Windows“
  • Programavimas
  • „Windows“
Apie autorių Ryanas Dube(Paskelbti 942 straipsniai)

Ryanas turi elektrotechnikos bakalauro laipsnį. Jis 13 metų dirbo automatikos inžinerijos srityje, 5 metus IT srityje, o dabar yra programų inžinierius. Buvęs „MakeUseOf“ vadovaujantis redaktorius, jis kalbėjo nacionalinėse duomenų vizualizavimo konferencijose ir buvo rodomas nacionalinėje televizijoje ir radijuje.

kaip pasidaryti skaitmeninės televizijos anteną
Daugiau iš Ryan Dube

Prenumeruokite mūsų naujienlaiškį

Prisijunkite prie mūsų naujienlaiškio, kad gautumėte techninių patarimų, apžvalgų, nemokamų el. Knygų ir išskirtinių pasiūlymų!

Norėdami užsiprenumeruoti, spustelėkite čia