5 izjav IF, ki jih je treba uporabiti za pametnejše paketne skripte za Windows

5 izjav IF, ki jih je treba uporabiti za pametnejše paketne skripte za Windows

Če veliko delate v paketnih datotekah Windows, bo Izjava IF ponuja zelo zmogljiv način za dodajanje prilagodljivosti vašim skriptom.





V tem članku boste izvedeli o petih glavnih vrstah stavkov IF, ki jih lahko uporabite v paketni datoteki Windows, o tem, kako izgleda pravilna skladnja, in realističen primer za vsako od njih.





Če ste pripravljeni začeti pisati skripte, začnimo!





1. Primerjajte vrednosti

Ena od osnovnih stvari, ki jih morate običajno narediti v paketnem skriptu, je primerjajte dve vrednosti in glede na primerjavo ravnati drugače.

Na primer, recimo, da ste želeli napisati paketni skript, ki dnevno preverja velikost trdega diska vašega računalnika. Če je manj kot 3 GB, želite po e -pošti prejeti poročilo z napisom »Preveč prostora na trdem disku«.



Če želite ustvariti skript, ki primerja trenutni prosti prostor na trdem disku z vašo omejitvijo, ustvarite naslednji paketni skript in ga shranite kot datoteko .bat.

@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 v sistemu Windows, ki ima na voljo vrsto ukazov, ki jih lahko uporabite za pridobivanje podatkov o računalniku. Tako ukaz 'wmic' v tem skriptu pokliče prostor 'logični disk' in ga postavi v spremenljivko FreeSpace. Zdaj lahko preprosto zamenjate vrstico 'Odmev Ni dovolj prostega prostora' z ukazom blat po e -pošti, da vam pošlje opozorilo.





Končno nastavite ta skript kot paketno opravilo za Windows, ki se izvaja vsak dan.

Če še nikoli niste uporabljali blata, imamo članek, ki vam pokaže, kako nastaviti blat. Ne poznate nastavitev načrtovanih delovnih mest? Opisali smo vam članek o tem, kako nastaviti načrtovana opravila v sistemu Windows.





2. Primerjave nizov

Druga dragocena primerjava IF, ki jo lahko naredite pri paketnem delu, je primerjava nizov .

V naslednjem primeru boste videli, kako s paketnim opravilom preverite različico sistema Windows. Potem lahko to primerjate s pričakovano različico sistema Windows.

Nekatere uporabe tega skripta bi bile za revizije IT, ko morate hitro zagnati skript in se prepričati, da je trenutni operacijski sistem najnovejši, ali potrebuje nadgradnjo.

Takole izgleda ta skript.

@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 rezultat tega skripta.

Sposobnost primerjave nizov v paketu odpira cel seznam možnosti. Če raziščete vse informacije, ki jih lahko dobite z ukazom WMIC videli boste, koliko statističnih podatkov o svojem računalniku lahko spremljate. Za opozarjanje na njih lahko uporabite načrtovana paketna opravila.

3. Preverite, ali datoteka obstaja

Druga koristna situacija, v kateri je stavek IF v paketni datoteki preverite obstoj podatkovne datoteke .

Velikokrat je paketno opravilo le orodje za spremljanje, ki bi ga bilo mogoče načrtovati za preverjanje novih dohodnih podatkovnih datotek v določenem imeniku.

Nato lahko paketno opravilo to datoteko kopira na drugo mesto, kjer jo je mogoče obdelati, ali pa sproži nekaj skriptov sistema Windows, ki datoteko obdela v izhod Excel.

(V preteklosti smo pisali o tem, kako uporabite skripte Windows za obdelavo podatkov v datoteko Excel ; nekaj dobrega branja v ozadju.)

Hitra in enostavna je uporaba paketne datoteke za preverjanje, ali datoteka obstaja v imeniku. Evo, kako izgleda ta skript.

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

Primerjava IF EXISTS je uporabna za marsikaj.

Če imate na primer sistem ali aplikacijo, ki v določeni mapi ustvari nove dnevnike napak, ko je težava, lahko vsake toliko zaženete paketno opravilo, da spremljate, ali so ustvarjeni novi dnevniki napak, da lahko pošljete opozorilo.

4. Preverite, ali ukaz ni uspel

Vidik paketnega skriptiranja datotek, ki ga uporablja premalo IT -jev ali programerjev, je preverjanje napak .

Naokoli plava veliko paketnih opravil, ki opravljajo kritične naloge IT, kot so varnostno kopiranje pomembnih datotek ali izvajanje kopiranja datotek. Ko ta paketna opravila odpovejo, sistemi odpovejo in ljudje to opazijo.

Veliko pametneje je dobiti opozorilo, če vaše paketno opravilo ni uspelo ukazu prej ljudje začnejo opažati. Na ta način lahko težavo odpravite proaktivno.

To lahko storite s spremenljivko % errorlevel %, ki jo večina aplikacij in ukazov vrne po zagonu.

Vse kar morate storiti je, da sledite ukazu IF % ERRORLEVEL %. Če je aplikacija ali ukaz vrnil nič, je vse v redu. Če ne, potem morate sami poslati e -pošto.

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

Ni vam treba ubrati poti po e -pošti. Vedno lahko napišete dnevnik napak, ki ga lahko preverite vsako jutro, ali zaženete drugo aplikacijo ali ukaz, ki poskuša kopirati z nadomestnim ukazom. Ne glede na to, kaj želite narediti, vam to dovoli IF % ERRORLEVEL %.

Če raje uporabite stavek IF za preverjanje določenih kod napak, Windows ponuja precej obsežen seznam kod napak .

5. Preverite manjkajoče parametre

Zadnji uporabni stavek IF ni poseben ukaz, ampak preverjanje skripta prejel ustrezne vhodne parametre .

Recimo, da ste napisali skript, ki izvaja ukaz xcopy iz vhodne mape v skupno omrežno mapo, ki jo uporablja skupina. Uporabnik mora le slediti imenu vašega skripta s parametri, ki določajo njegovo osebno pot do datoteke.

Očitno je, da brez navedene poti ne morete pravilno izvesti skripta, zato lahko na začetek skripta postavite stavek IF, da se prepričate, da sta vnesena 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

Če še nikoli niste uporabljali parametrov s paketnimi skripti, simbol odstotka, ki mu sledi številka, predstavlja spremenljivko parametra. %1 je prvi parameter, %2 je drugi itd.

Serijska delovna mesta so lahko močna

Mnogi ljudje začnejo uporabljati paketna opravila za preprosta opravila, ki jih je treba izvajati zaporedno. Z izjavami IF je mogoče vašim skriptom dodati veliko več inteligence.

Seveda, če resnično želite stopnjevati korak naprej, razmislite o ogledu VBA z našim vodičem ustvarite svojo prvo aplikacijo VBA ali pa se celo naučite programiranja Python.

Pogosto lahko uporabite naprednejše programske jezike, kot so ti, ali pa se naučite uporabljati PowerShell za izvajanje mnogih istih nalog, za katere trenutno uporabljate paketna opravila.

Deliti Deliti Cvrkutati E-naslov Izbrišite te datoteke in mape Windows, da sprostite prostor na disku

Ali morate v računalniku s sistemom Windows počistiti prostor na disku? Tu so datoteke in mape Windows, ki jih je mogoče varno izbrisati, da sprostite prostor na disku.

Preberite Naprej
Sorodne teme
  • Windows
  • Programiranje
  • Windows
O avtorju Ryan Dube(942 objavljenih člankov)

Ryan je diplomiral iz elektrotehnike. 13 let je delal na področju avtomatizacije, 5 let na področju IT, zdaj pa je inženir aplikacij. Nekdanji glavni urednik MakeUseOfa je govoril na nacionalnih konferencah o vizualizaciji podatkov in je bil predstavljen na nacionalni televiziji in radiu.

katera je najboljša čistilna aplikacija za android
Več od Ryana Dubeja

Naročite se na naše novice

Pridružite se našemu glasilu za tehnične nasvete, ocene, brezplačne e -knjige in ekskluzivne ponudbe!

Kliknite tukaj, če se želite naročiti