5 Declarații FI pentru a fi utilizate pentru scripturi inteligente Windows Batch
Dacă faceți o mulțime de lucru în fișiere batch Windows, IF declarație oferă o modalitate foarte puternică de a adăuga flexibilitate scenariilor dvs..
În acest articol veți afla despre cele cinci tipuri principale de IF-uri pe care le puteți folosi într-un fișier batch Windows, cum arată sintaxa corectă și un exemplu realist pentru fiecare.
Dacă sunteți gata să începeți scriptul, să începem!
1. Comparați valorile
Unul dintre lucrurile de bază pe care le va trebui să le faci de obicei într-un script batch este comparați două valori și să urmeze un alt curs de acțiune în funcție de comparație.
De exemplu, să presupunem că ați vrut să scrieți un script batch care verifică zilnic dimensiunea unității hard disk a computerului. Dacă este sub 3 GB doriți să obțineți un raport de e-mail care spune, “Spațiu pe hard disk prea mic.”
Pentru a crea un script care compară spațiul liber al unității de disc curente la limita dvs., creați următorul script batch și salvați-l ca fișier .bat.
Setarea @echo off DriveLimit = 300000000 pentru / f "usebackq delims == tokens = 2" %% x in ('wmic logicaldisk unde' DeviceID = 'C:' 'set FreeSpace / format: value) x Echo FreeSpace = "% FreeSpace%" Echo Limit = "% DriveLimit%" Dacă% FreeSpace% GTR% DriveLimit% (Echo Este suficient spațiu liber.
WMIC este componenta Windows Management Instrumentation a Windows care vine cu un sortiment de comenzi pe care le puteți utiliza pentru a extrage informații despre PC. Acesta este modul în care “WMIC” comanda în acest script numește “logicaldisk” spațiu și o plasează în variabila FreeSpace. Acum puteți înlocui linia “Echo Nu este suficient spațiu liber” cu o comandă de email blat pentru a vă trimite o alertă.
În cele din urmă, setați acest script ca o lucrare batch programată pe ferestre care rulează zilnic.
Dacă nu ați mai folosit până acum blat, avem un articol care vă arată cum să configurați blat. Necunoscut cu stabilirea locurilor de muncă programate? V-am acoperit cu un articol despre cum să configurați sarcini programate Windows 4 Sarcini plictisitoare pe care le puteți automatiza cu programatorul de activități Windows 4 Sarcini plictisitoare pe care le puteți automatiza cu programatorul de activități Windows Timpul dvs. este prea valoros pentru a fi irosit cu sarcini repetitive . Să vă arătăm cum să automatizați și să programați sarcini. Avem și câteva exemple minunate. Citeste mai mult .
2. Comparații cu șir
O altă comparație valoroasă pe care o puteți face într-o activitate batch este comparând șiruri de caractere.
În următorul exemplu, veți vedea cum să verificați versiunea Windows utilizând o operație batch. Apoi puteți compara aceasta cu versiunea Windows așteptată.
Unele utilizări ale acestui script ar fi pentru auditurile IT atunci când trebuie să executați rapid un script și să vă asigurați că actualul sistem de operare este cel mai nou sau dacă are nevoie de o actualizare.
Iată cum arată acest script.
@echo off pentru / f "tokens = 4-5 delims =." %% i in ('ver') setați VERSION = %% i. %% j dacă "% version%" == "6.0" . dacă "% version%" == "6.1" echo Windows 7 dacă "% version%" == "6.2" echo Windows 8 dacă "% version%" == "6.3" echo Windows 8.1 dacă "% version%" == "10.0" echo Windows 10.
Iata cum arata rezultatul acestui script.
Abilitatea de a compara șirurile în loturi deschide o listă întreagă de posibilități. Dacă explorați toate informațiile pe care le puteți obține dintr-o comandă WMIC, veți vedea cât de multe statistici despre computerul dvs. puteți monitoriza. Aveți posibilitatea să utilizați lucrări programate batch pentru a avertiza asupra acestora.
3. Verificați dacă există un fișier
O altă situație utilă în cazul în care o declarație IF într-un fișier lot este de a verificați existența unui fișier de date.
De multe ori lucrarea batch este doar un instrument de monitorizare care ar putea fi programat pentru a verifica pentru fișiere de date noi intrări într-un anumit director.
Apoi, lucrarea batch poate fie să copieze acel fișier într-o altă locație unde poate fi procesată, fie să pornească un script de ferestre care procesează fișierul într-o ieșire Excel.
(Am scris în trecut despre modul de utilizare a script-urilor Windows pentru prelucrarea datelor într-un fișier Excel 5 Scripturi utile Windows VB pentru automatizarea calculatorului dvs. Utilizați 5 Scripturi utile Windows VB pentru a automatiza calculatorul dvs. Utilizați De la monitorizarea site-ului la rapoartele de sistem, pentru a automatiza toate lucrurile cu aceste scripturi VB uimitoare pe care le puteți codifica în Windows chiar acum.
Folosirea unui fișier batch pentru a verifica dacă un fișier există într-un director este rapid și ușor. Iată cum arată acest scenariu.
@echo off dacă există c: \ temp \ datafile.txt (% WINDIR% \ SysWOW64 \ cmd.exe cscript LoadToExcel.vbs) altceva (fișierul rem nu există)
Comparația IF EXISTS este utilă pentru multe lucruri.
De exemplu, dacă aveți un sistem sau o aplicație care creează noi jurnale de eroare într-un anumit dosar atunci când există o problemă, aveți posibilitatea să executați o lucrare batch atât de des pentru a monitoriza dacă sunt create noi jurnale de eroare, astfel încât să puteți trimite o alertă.
4. Verificați dacă o comandă nu a reușit
Un aspect al scripturilor de fișiere batch pe care prea puțini oameni de IT sau programatori le folosesc este verificarea erorilor.
Există o mulțime de locuri de muncă batch plutitoare în jurul valorii de acolo, care îndeplinesc sarcini IT critice, cum ar fi copierea de rezervă a fișierelor importante sau operațiunile de copiere a fișierului care rulează. Când aceste lucrări discontinue, sistemele eșuează și oamenii observă.
Este mult mai inteligent pentru a obține o alertă atunci când lucrarea ta batch a eșuat la o comandă inainte de oamenii încep să observe. În acest fel, puteți remedia problema în mod proactiv.
Puteți face acest lucru utilizând variabila% errorlevel% pe care cele mai multe aplicații și comenzi revin după ce sunt executate.
Tot ce trebuie să faceți este să urmați comanda dvs. prin comanda IF% ERRORLEVEL%. Dacă aplicația sau comanda au returnat un zero, totul este bine. Dacă nu, atunci trebuie să trimiteți un e-mail.
@echo off xcopy C: \ somefolder E: \ folderul de backup IF% ERRORLEVEL% NEQ 0
Nu trebuie să luați ruta de e-mail. Puteți scrie întotdeauna un jurnal de erori pe care îl puteți verifica în fiecare dimineață sau puteți lansa oa doua aplicație sau o comandă care încearcă să facă copia utilizând o comandă alternativă. Indiferent de acțiunea pe care doriți să o luați, dacă% ERRORLEVEL% vă permite să o faceți.
Dacă preferați să utilizați o instrucțiune IF pentru a verifica codurile de eroare specifice, Windows oferă o listă destul de extinsă de coduri de eroare.
5. Verificați dacă lipsesc parametrii
Ultima instrucțiune IF utilă nu este o comandă specifică, ci o verificare a scriptului au primit parametrii de intrare corespunzători.
De exemplu, să presupunem că ați scris un script care execută o comandă xcopy dintr-un director de intrare, într-un dosar comun de rețea utilizat de o echipă. Utilizatorul trebuie doar să urmeze numele dvs. de script cu parametrii care definesc calea fișierului personal.
Evident, nu puteți executa în mod corespunzător scriptul dvs. fără caietul specificat, deci puteți pune o instrucțiune IF la începutul scriptului dvs. pentru a vă asigura că ați introdus ambii parametri.
Iată cum arată asta.
@echo off IF [% 1] == [] (GOTO sub_message) ELSE (xcopy% 1 E: \ folderfolder) GOTO eof: sub_message echo Ați uitat să specificați calea. : EOF
Dacă nu ați mai utilizat parametri cu scripturi batch înainte, simbolul procentaj urmat de un număr reprezintă variabila parametrului. % 1 este primul parametru,% 2 este al doilea și așa mai departe.
Loturile de locuri de muncă pot fi puternice
Mulți oameni încep să utilizeze loturi de lucru pentru sarcini simple care trebuie executate în ordine. Cu IF declarații este posibil să adăugați mult mai multă inteligență scripturilor tale.
Desigur, dacă vreți cu adevărat să faceți o notă, vă recomandăm să consultați VBA cu ghidul nostru privind crearea primei aplicații VBA sau chiar să învățați programarea Python.
Puteți utiliza adesea limbi de programare mai avansate, cum ar fi acestea, sau să învețe să utilizați PowerShell 5 motive pentru care ar trebui să utilizați PowerShell în loc de scriere în șarje 5 motive pentru care ar trebui să utilizați PowerShell în loc de scriere batch PowerShell este ceea ce ați obține dacă ați trecut linia de comandă Batch Scripting, a aruncat în unele caracteristici suplimentare, și a lovit-o cu tot mai multe crestături. Iată câteva motive pe care ar trebui să le încercați. Citiți mai multe, pentru a îndeplini multe din aceleași sarcini pe care le folosiți în prezent pentru lucrări batch pentru.
Explorați mai multe despre: Windows.