Reklāma
Ja jūs daudz strādājat ar Windows pakešdatnēm, IF paziņojums piedāvā ļoti spēcīgu veidu, kā pievienot skriptiem elastīgumu.
Šajā rakstā jūs uzzināsit par pieciem galvenajiem IF paziņojumu veidiem, kurus varat izmantot Windows pakešdatnē, par to, kā izskatās pareiza sintakse, kā arī par reālistisku piemēru katram no tiem.
Ja esat gatavs sākt skriptēšanu, sāksim!
1. Salīdziniet vērtības
Viena no pamatlietām, kas jums parasti jādara sērijas skriptā, ir salīdziniet divas vērtības un rīkojieties atšķirīgi atkarībā no salīdzināšanas.
Piemēram, pieņemsim, ka jūs gribējāt uzrakstīt partijas skriptu, kas katru dienu pārbauda datora cietā diska lielumu. Ja tas ir mazāks par 3 GB, vēlaties saņemt e-pasta ziņojumu ar paziņojumu “Pārāk maz cietā diska vietas”.
Lai izveidotu skriptu, kurā pašreizējā brīvā cietā diska telpa tiek salīdzināta ar jūsu ierobežojumu, izveidojiet šo sērijveida skriptu un saglabājiet to kā .bat failu.
@echo off. iestatīt DriveLimit = 300000000. for / f "usebackq delims == tokens = 2" %% x in (`wmic logisticsdisk, kur" DeviceID = 'C:' "get FreeSpace / format: value`) nosaka FreeSpace = %% x. Echo FreeSpace = "% FreeSpace%" Atbalss ierobežojums = "% DriveLimit%" Ja% FreeSpace% GTR% DriveLimit% (Echo Ir pietiekami daudz brīvas vietas. ) else (atbalss Nepietiek vietas. )
WMIC ir Windows pārvaldības instrumentu komponents Windows, kas nāk ar komandu sortimentu, kuru varat izmantot, lai iegūtu informāciju par datoru. Tas ir, kā komanda “wmic” šajā skriptā izsauc vietu “logisticsdisk” un ievieto to mainīgajā FreeSpace. Tagad jūs vienkārši varat aizstāt rindu “Echo Nepietiek brīvas vietas” ar blat e-pasta komandu, lai nosūtītu jums brīdinājumu.
Visbeidzot iestatiet šo skriptu kā Windows plānotu pakešdarbu, kas tiek veikts katru dienu.
Ja jūs nekad iepriekš neesat izmantojis blatu, mums ir raksts, kurā parādīts kā iestatīt blatu. Vai jūs neprotat iestatīt plānotos darbus? Mēs esam nokļuvuši rakstā par kā iestatīt Windows plānotos uzdevumus 4 garlaicīgi uzdevumi, kurus varat automatizēt, izmantojot Windows uzdevumu plānotājuJūsu laiks ir pārāk vērtīgs, lai to varētu tērēt atkārtotiem uzdevumiem. Ļaujiet mums parādīt, kā automatizēt un plānot uzdevumus. Mums ir arī daži lieliski piemēri. Lasīt vairāk .
2. Stīgu salīdzinājumi
Vēl viens vērtīgs IF salīdzinājums, ko varat veikt partijas darbā, ir salīdzinot virknes.
Šajā piemērā redzēsit, kā pārbaudīt Windows versiju, izmantojot pakešdarbu. Tad jūs varat salīdzināt to ar paredzamo Windows versiju.
Daži šī skripta lietojumi ir paredzēti IT auditiem, kad nepieciešams ātri palaist skriptu un pārliecināties, vai pašreizējā operētājsistēma ir jaunākā, vai tai ir nepieciešams jauninājums.
Lūk, kā izskatās šis skripts.
@echo off. par / f "žetoniem = 4-5 atdala =. "%% i in ('ver') nosaka VERSION = %% i. %% j. ja "% version%" == "6.0" atkārto Windows Vista. ja "% version%" == "6.1" atkārto Windows 7. ja "% version%" == "6.2" atbalsojas Windows 8. ja "% version%" == "6.3" atbalsojas Windows 8.1. ja "% version%" == "10.0" atbalsojas ar Windows 10.
Lūk, kā izskatās šis skripts.
Iespēja salīdzināt virknes partijās atver visu iespēju sarakstu. Ja izpētīsit visu informāciju, kuru varat iegūt no WMIC komandas jūs redzēsit tikai to, cik daudz statistikas informāciju par datoru varat pārraudzīt. Lai tos brīdinātu, varat izmantot plānotos pakešu darbus.
3. Pārbaudiet, vai fails nav
Vēl viena noderīga situācija, kad ir IF paziņojums sērijveida failā pārbaudiet, vai pastāv datu fails.
Daudzas reizes partijas darbs ir tikai uzraudzības rīks, kuru varētu ieplānot jaunu ienākošo datu failu pārbaudei noteiktā direktorijā.
Pēc tam pakešdarbs var vai nu nokopēt šo failu uz citu vietu, kur to var apstrādāt, vai arī sākt kādu Windows skriptu, kas failu apstrādā Excel izvadē.
(Iepriekš esam rakstījuši par to, kā datu apstrādei Excel failā izmantojiet Windows skriptus 5 Noderīgi VB Windows skripti datora automatizēšanaiSākot ar vietņu uzraudzību un beidzot ar sistēmas pārskatiem, uzziniet, kā automatizēt visas lietas, izmantojot šos apbrīnojamos VB skriptus, ko pašlaik varat kodēt sistēmā Windows. Lasīt vairāk ; dažs labs fona lasījums.)
Sērijveida faila izmantošana, lai pārbaudītu, vai fails atrodas direktorijā, ir ātra un ērta. Lūk, kā izskatās šis skripts.
@echo off. ja pastāv c: \ temp \ datafile.txt (% WINDIR% \ SysWOW64 \ cmd.exe cscript LoadToExcel.vbs). ) else (rem fails neeksistē. )
IF EXISTS salīdzinājums ir noderīgs daudzām lietām.
Piemēram, ja darbojas sistēma vai lietojumprogramma, kas noteiktā mapē izveido jaunus kļūdu žurnālus, ja tādi ir Problēmas gadījumā pakešu darbu var palaist tik bieži, lai uzraudzītu, vai tiek izveidoti jauni kļūdu žurnāli, lai jūs varētu nosūtīt trauksme.
4. Pārbaudiet, vai komanda neizdevās
Pakešfailu skriptu veidošanas aspekts, kuru izmanto pārāk maz IT ļaužu vai programmētāju pārbaudot kļūdas.
Apkārt tur peldošs ir daudz pakešdatu darbu, kas veic tādus kritiskus IT uzdevumus kā svarīgu failu dublēšana vai failu kopēšanas operācijas. Ja šie pakešdarbi neizdodas, sistēmas neizdodas un cilvēki to pamana.
Daudz gudrāk ir saņemt trauksmi, kad pakešdarbs nav izpildījis komandu pirms tam cilvēki sāk pamanīt. Tādā veidā jūs varat proaktīvi novērst šo problēmu.
To var izdarīt, izmantojot mainīgo% errorlevel%, kuru lielākā daļa programmu un komandu atgriežas pēc to palaišanas.
Viss, kas jums jādara, ir izpildīt komandu IF IF ERRORLEVEL%. Ja lietojumprogramma vai komanda atdeva nulli, viss ir kārtībā. Ja nē, tad jums ir jānosūta sev e-pasts.
@echo off. xcopy C: \ somefolder E: \ backupfolder. IF% ERRORLEVEL% NEQ 0
Jums nav jāveic e-pasta maršruts. Jūs vienmēr varētu rakstīt kļūdu žurnālu, kuru jūs varētu pārbaudīt katru rītu, vai arī palaist otru programmu vai komandu, kas mēģina izdarīt kopēšanu, izmantojot alternatīvu komandu. Neatkarīgi no darbības, kuru vēlaties veikt, IF% ERRORLEVEL% ļauj to izdarīt.
Ja jūs drīzāk izmantojat IF paziņojumu, lai pārbaudītu konkrētus kļūdu kodus, Windows piedāvā jauku plašs kļūdu kodu saraksts.
5. Pārbaudiet, vai trūkst parametru
Pēdējais noderīgais IF paziņojums nav īpaša komanda, bet gan jāpārbauda, vai tas ir skripts saņēma atbilstošos ievades parametrus.
Piemēram, pieņemsim, ka esat uzrakstījis skriptu, kas izpilda xcopy komandu no ievades mapes uz kopīgu tīkla mapi, kuru izmanto komanda. Lietotājam vienkārši jāievēro jūsu skripta nosaukums ar parametriem, kas nosaka viņu personīgā faila ceļu.
Acīmredzot jūs nevarat pareizi izpildīt savu skriptu bez norādītā ceļa, tāpēc skripta sākumā varat ievietot IF paziņojumu, lai pārliecinātos, ka abi parametri ir ievadīti.
Lūk, kā tas izskatās.
@echo off. JA [% 1] == [] ( GOTO apakšziņa. ) ELSE ( xcopy% 1 E: \ rezerves mape. ) GOTO eof.: apakšziņa. atbalss Jūs aizmirsāt norādīt savu ceļu.: eof.
Ja jūs nekad iepriekš neesat izmantojis parametrus ar pakešu skriptiem, procentu simbols, kam seko cipars, norāda parametra mainīgo. % 1 ir pirmais parametrs,% 2 ir otrais un tā tālāk.
Sērijveida darbs var būt jaudīgs
Daudzi cilvēki sērijveida darbus sāk izmantot vienkāršiem uzdevumiem, kas jāizpilda secīgi. Izmantojot IF paziņojumus, jūsu skriptiem ir iespējams pievienot daudz vairāk informācijas.
Protams, ja jūs patiešām vēlaties to palielināt, jūs varētu apsvērt iespēju apskatīt VBA, izmantojot mūsu ceļvedi izveidojot savu pirmo VBA lietojumprogrammu, vai varbūt pat iemācīties Python programmēšanu.
Jūs bieži varat izmantot sarežģītākas programmēšanas valodas, piemēram, šīs, vai iemācieties lietot PowerShell 5 iemesli, kādēļ partijas Scripting vietā jums vajadzētu izmantot PowerShellPowerShell ir tas, ko jūs varētu iegūt, ja šķērsotu komandu uzvedni ar pakešu skriptu, ieviestu dažas papildu funkcijas un palaistu to visu līdz vairākiem pakāpieniem. Šeit ir vairāki iemesli, kāpēc jums tas jāmēģina. Lasīt vairāk , lai izpildītu daudzus no tiem pašiem uzdevumiem, kuriem pašlaik izmantojat pakešdarbus.
Ryanam ir bakalaura grāds elektrotehnikā. Viņš ir strādājis 13 gadus automatizācijas inženierijā, 5 gadus IT jomā un tagad ir Apps Engineer. Bijušais MakeUseOf galvenais redaktors, viņš uzstājās nacionālajās datu vizualizācijas konferencēs un tiek demonstrēts nacionālajā televīzijā un radio.