5 IF izjava za korištenje za pametnije paketne skripte za Windows

5 IF izjava za korištenje za pametnije paketne skripte za Windows

Ako puno radite u skupnim datotekama sustava Windows, IF izjava nudi vrlo moćan način za dodavanje fleksibilnosti vašim skriptama.





U ovom ćete članku naučiti o pet glavnih vrsta IF izraza koje možete koristiti u paketnoj datoteci sustava Windows, kako izgleda ispravna sintaksa i realističan primjer za svaku od njih.





Ako ste spremni za početak skriptiranja, počnimo!





1. Usporedite vrijednosti

Jedna od osnovnih stvari koje obično trebate raditi u paketnoj skripti je usporedite dvije vrijednosti te slijediti drugačiji postupak ovisno o usporedbi.

Na primjer, recimo da ste htjeli napisati paketnu skriptu koja svakodnevno provjerava veličinu tvrdog diska vašeg računala. Ako je ispod 3 GB, želite primiti izvješće e -poštom s porukom 'Preniski prostor na tvrdom disku'.



Da biste stvorili skriptu koja uspoređuje trenutni slobodni prostor na tvrdom disku s vašim ograničenjem, izradili biste sljedeću paketnu skriptu i spremili je kao .bat datoteku.

@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 je komponenta Windows Management Instrumentation komponente sustava Windows koja dolazi s nizom naredbi koje možete koristiti za izvlačenje podataka o računalu. Ovako naredba 'wmic' u ovoj skripti poziva prostor 'logički disk' i stavlja ga u varijablu FreeSpace. Sada možete samo zamijeniti redak 'Echo Not enough free space' s blat naredbom e -pošte za slanje upozorenja.





Na kraju, postavite ovu skriptu kao paketni posao zakazan za Windows koji se izvodi svakodnevno.

Ako nikada prije niste koristili blat, imamo članak koji vam pokazuje kako postaviti blat. Niste upoznati s postavljanjem zakazanih poslova? Opisali smo vam članak o tome kako postaviti zakazane zadatke u sustavu Windows.





2. Usporedbe nizova

Još jedna vrijedna usporedba IF -a koju možete napraviti u serijskom poslu je uspoređivanje žica .

U sljedećem primjeru vidjet ćete kako provjeriti verziju sustava Windows pomoću paketnog posla. Zatim to možete usporediti s očekivanom verzijom sustava Windows.

Neke upotrebe ove skripte bile bi za IT revizije kada trebate brzo pokrenuti skriptu i provjeriti je li trenutni operacijski sustav najnoviji ili treba li nadogradnju.

Evo kako ova skripta izgleda.

@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.

Evo kako izgleda izlaz ove skripte.

Mogućnost usporedbe nizova u grupi otvara čitav popis mogućnosti. Ako istražite sve informacije koje možete dobiti iz naredbe WMIC vidjet ćete koliko statistika o svom računalu možete pratiti. Možete upotrijebiti zakazane paketne poslove za upozorenje na njih.

3. Provjerite postoji li datoteka

Druga korisna situacija u kojoj je IF izraz u batch datoteci to provjerite postoji li podatkovna datoteka .

Mnogo puta je paketni posao samo alat za praćenje koji bi se mogao zakazati za provjeru novih ulaznih podatkovnih datoteka u određenom direktoriju.

Zatim, paketni posao može kopirati tu datoteku na drugo mjesto gdje se može obraditi ili pokrenuti neku Windows skriptu koja obrađuje datoteku u Excel izlaz.

(Ranije smo pisali o tome kako to učiniti koristiti Windows skripte za obradu podataka u Excel datoteku ; dobro čitanje u pozadini.)

Brzo i jednostavno je koristiti paketnu datoteku za provjeru postoji li datoteka u direktoriju. Evo kako ta skripta izgleda.

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

Usporedba IF EXISTS korisna je za mnoge stvari.

Na primjer, ako imate pokrenut sustav ili aplikaciju koja stvara nove zapisnike pogrešaka u određenoj mapi kada postoji problem, možete učestalo pokretati paketni posao kako biste nadgledali stvaraju li se novi dnevnici pogrešaka kako biste mogli poslati upozorenje.

4. Provjerite je li naredba neuspješna

Aspekt paketnog skriptiranja datoteka koji koristi premalo IT stručnjaka ili programera jest provjeravanje pogrešaka .

Uokolo pluta puno paketnih poslova koji izvršavaju kritične IT zadatke, poput izrade sigurnosnih kopija važnih datoteka ili izvođenja operacija kopiranja datoteka. Kad ovi paketni poslovi ne uspiju, sustavi otkazuju i ljudi to primjećuju.

Mnogo je pametnije dobiti upozorenje kada vaš paketni posao ne uspije naredbom prije ljudi počinju primjećivati. Na taj način možete problem riješiti proaktivno.

To možete učiniti pomoću varijable % errorlevel % koju većina aplikacija i naredbi vraća nakon pokretanja.

Sve što trebate učiniti je slijediti vašu naredbu naredbom IF % ERRORLEVEL %. Ako je aplikacija ili naredba vratila nulu, sve je u redu. Ako ne, morate sami sebi poslati e -poruku.

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

Ne morate ići putem e -pošte. Uvijek možete napisati dnevnik pogrešaka koji biste mogli provjeriti svako jutro ili pokrenuti drugu aplikaciju ili naredbu koja pokušava kopirati pomoću zamjenske naredbe. Koju god radnju želite poduzeti, IF % ERRORLEVEL % vam to dopušta.

Ako biste radije koristili izraz IF za provjeru specifičnih kodova pogrešaka, Windows nudi prilično opsežan popis kodova grešaka .

5. Provjerite nedostaju li parametri

Posljednja korisna naredba IF nije određena naredba, već provjeravanje skripte primio odgovarajuće ulazne parametre .

Na primjer, recimo da ste napisali skriptu koja izvodi naredbu xcopy iz ulazne mape u zajedničku mrežnu mapu koju koristi tim. Korisnik samo treba slijediti naziv skripte s parametrima koji definiraju njegovu osobnu putanju do datoteke.

Očigledno, ne možete pravilno izvršiti skriptu bez navedene staze, pa možete staviti izraz IF na početak svoje skripte kako biste bili sigurni da su unesena oba parametra.

Evo kako to izgleda.

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

Ako nikada prije niste koristili parametre sa paketnim skriptama, simbol postotka iza kojeg slijedi broj predstavlja varijablu parametra. %1 je prvi parametar, %2 je drugi itd.

Serijski poslovi mogu biti moćni

Mnogi ljudi počinju koristiti paketne poslove za jednostavne zadatke koje je potrebno izvoditi u nizu. Pomoću IF izjava moguće je dodati mnogo više inteligencije vašim skriptama.

Naravno, ako zaista želite napredovati, razmislite o tome da pogledate VBA s našim vodičem stvaranje vaše prve VBA aplikacije , ili možda čak naučiti programiranje na Pythonu.

Često možete koristiti naprednije programske jezike poput ovih ili naučiti koristiti PowerShell za izvršavanje mnogih istih zadataka za koje trenutno koristite skupne poslove.

Udio Udio Cvrkut E -pošta Izbrišite ove Windows datoteke i mape kako biste oslobodili prostor na disku

Trebate očistiti prostor na disku na računalu sa sustavom Windows? Evo Windows datoteka i mapa koje se mogu sigurno izbrisati kako bi se oslobodio prostor na disku.

Pročitajte Dalje
Povezane teme
  • Windows
  • Programiranje
  • Windows
O autoru Ryan Dube(942 objavljenih članaka)

Ryan ima diplomu elektrotehnike. Radio je 13 godina u automatizaciji, 5 godina u IT -u, a sada je inženjer aplikacija. Bivši glavni urednik MakeUseOfa, govorio je na nacionalnim konferencijama o vizualizaciji podataka, a bio je i na nacionalnoj televiziji i radiju.

što učiniti ako vam je telefon zaglavljen na ekranu Applea
Više od Ryana Dubea

Pretplatite se na naše obavijesti

Pridružite se našem biltenu za tehničke savjete, recenzije, besplatne e -knjige i ekskluzivne ponude!

Kliknite ovdje za pretplatu