5 IF vyhlásenia, ktoré sa majú použiť pre inteligentnejšie dávkové skripty systému Windows

5 IF vyhlásenia, ktoré sa majú použiť pre inteligentnejšie dávkové skripty systému Windows

Ak v dávkových súboroch systému Windows vykonáte veľa práce, súbor IF vyhlásenie ponúka veľmi účinný spôsob, ako zvýšiť flexibilitu vašich skriptov.





V tomto článku sa dozviete o piatich hlavných typoch príkazov IF, ktoré môžete použiť v dávkovom súbore Windows, o tom, ako vyzerá správna syntax a o každom z nich realistický príklad.





Ak ste pripravení začať skriptovať, začnime!





1. Porovnajte hodnoty

Jednou zo základných vecí, ktoré musíte v dávkovom skripte zvyčajne urobiť, je porovnaj dve hodnoty a postupujte podľa iného postupu v závislosti od porovnania.

Povedzme napríklad, že ste chceli napísať dávkový skript, ktorý denne kontroluje veľkosť pevného disku vášho počítača. Ak je menší ako 3 GB, chcete dostať e -mailovú správu s textom „Miesto na pevnom disku je príliš nízke“.



Ak chcete vytvoriť skript, ktorý porovnáva aktuálne voľné miesto na pevnom disku s vašim limitom, vytvorte nasledujúci dávkový skript a uložte ho ako súbor .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 súčasť Windows Management Instrumentation systému Windows, ktorá je dodávaná so sortimentom príkazov, ktoré môžete použiť na načítanie informácií o počítači. Takto príkaz „wmic“ v tomto skripte nazýva priestor „logicaldisk“ a umiestňuje ho do premennej FreeSpace. Teraz môžete nahradiť riadok „Echo Nedostatok voľného miesta“ príkazom hrubého e -mailu, ktorý vám pošle upozornenie.





Nakoniec nastavte tento skript ako dávkovú úlohu naplánovanú na Windows, ktorá beží denne.

Ak ste nikdy predtým nepoužívali blat, máme článok, ktorý vám ukáže, ako ho nastaviť. Neviete, ako nastaviť naplánované úlohy? Pripravili sme pre vás článok o tom, ako nastaviť naplánované úlohy systému Windows.





2. Porovnania reťazcov

Ďalšie cenné porovnanie IF, ktoré môžete vykonať v dávkovej práci, je porovnávanie reťazcov .

V nasledujúcom príklade uvidíte, ako skontrolovať vašu verziu systému Windows pomocou dávkovej úlohy. Potom to môžete porovnať s vašou očakávanou verziou systému Windows.

Niektoré použitia tohto skriptu by boli na účely auditov IT, keď potrebujete rýchlo spustiť skript a zaistiť, aby bol aktuálny operačný systém najnovší, alebo či je potrebné aktualizovať.

Takto vyzerá tento 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.

Takto vyzerá výstup tohto skriptu.

Schopnosť porovnávať reťazce v dávke otvára celý zoznam možností. Ak preskúmate všetky informácie, ktoré môžete získať z príkazu WMIC uvidíte, koľko štatistík o vašom počítači môžete sledovať. Na tieto môžete použiť naplánované dávkové úlohy.

3. Skontrolujte, či súbor existuje

Ďalšia užitočná situácia, kde je príkaz IF v dávkovom súbore skontrolujte existenciu dátového súboru .

Dávková úloha je mnohokrát iba monitorovacím nástrojom, ktorý možno naplánovať na kontrolu nových prichádzajúcich dátových súborov v konkrétnom adresári.

Potom môže dávková úloha buď skopírovať tento súbor na iné miesto, kde ho možno spracovať, alebo spustiť nejaký skript systému Windows, ktorý spracuje súbor do výstupu programu Excel.

(V minulosti sme písali o tom, ako na to na spracovanie údajov do súboru programu Excel použite skripty systému Windows ; dobré čítanie na pozadí.)

Použitie dávkového súboru na kontrolu, či súbor existuje v adresári, je rýchle a jednoduché. Takto vyzerá tento skript.

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

Porovnanie IF EXISTS je užitočné pre veľa vecí.

Ak máte napríklad spustený systém alebo aplikáciu, ktorá v prípade konkrétneho priečinka vytvára nové protokoly chýb v konkrétnom priečinku, môžete tak často spúšťať dávkovú úlohu, aby ste monitorovali, či sa vytvárajú nové protokoly chýb, aby ste mohli odoslať upozornenie.

4. Skontrolujte, či príkaz zlyhal

Aspekt dávkového skriptovania, ktoré používa príliš málo ľudí z oblasti IT alebo programátorov kontrola chýb .

Existuje množstvo dávkových úloh, ktoré vykonávajú kritické úlohy IT, ako napríklad zálohovanie dôležitých súborov alebo operácie kopírovania súborov. Keď tieto dávkové úlohy zlyhajú, systémy zlyhajú a ľudia si to všimnú.

Je oveľa múdrejšie dostať upozornenie, ak vaša dávková úloha zlyhala na základe príkazu predtým ľudia si začnú všímať Týmto spôsobom môžete problém proaktívne vyriešiť.

Môžete to urobiť pomocou premennej % errorlevel %, ktorú väčšina aplikácií a príkazov vracia po spustení.

Jediné, čo musíte urobiť, je nasledovať svoj príkaz príkazom IF % ERRORLEVEL %. Ak aplikácia alebo príkaz vrátil nulu, je všetko v poriadku. Ak nie, musíte si poslať e -mail.

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

Nemusíte ísť e -mailom. Vždy môžete napísať denník chýb, ktorý by ste mohli každé ráno skontrolovať, alebo spustiť druhú aplikáciu alebo príkaz, ktorý sa pokúsi o kopírovanie pomocou alternatívneho príkazu. Nech už chcete vykonať akúkoľvek akciu, IF % ERRORLEVEL % vám to umožní.

Ak by ste radšej použili príkaz IF na kontrolu konkrétnych chybových kódov, systém Windows ponúka pekný produkt rozsiahly zoznam chybových kódov .

5. Skontrolujte, či chýbajú parametre

Posledný užitočný príkaz IF nie je konkrétny príkaz, ale namiesto toho skontrolujte, či je skript dostal príslušné vstupné parametre .

Povedzme napríklad, že ste napísali skript, ktorý vykonáva príkaz xcopy zo vstupného priečinka do spoločného sieťového priečinka používaného tímom. Používateľ musí iba nasledovať názov vášho skriptu s parametrami definujúcimi jeho osobnú cestu k súboru.

Očividne nemôžete svoj skript správne spustiť bez zadanej cesty, takže na začiatok skriptu môžete vložiť príkaz IF, aby ste sa uistili, že boli zadané oba parametre.

Takto to vyzerá.

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

Ak ste v dávkových skriptoch nikdy predtým nepoužívali parametre, symbol percenta a za ním číslo predstavuje premennú parametra. %1 je prvý parameter, %2 je druhý a tak ďalej.

Dávkové práce môžu byť silné

Mnoho ľudí začína používať dávkové úlohy na jednoduché úlohy, ktoré je potrebné vykonávať postupne. Vďaka príkazom IF je možné pridať do vašich skriptov oveľa väčšiu inteligenciu.

Samozrejme, ak to naozaj chcete vylepšiť, môžete zvážiť pozrieť sa na VBA s naším sprievodcom vytvorenie vašej prvej aplikácie VBA alebo sa dokonca naučte programovať v Pythone.

Často môžete použiť pokročilejšie programovacie jazyky, ako sú tieto, alebo sa naučiť používať PowerShell, na vykonávanie mnohých rovnakých úloh, na aké v súčasnosti používate dávkové úlohy.

zdieľam zdieľam Tweet E -mail Odstráňte tieto súbory a priečinky systému Windows, aby ste uvoľnili miesto na disku

Potrebujete uvoľniť miesto na disku v počítači so systémom Windows? Tu sú súbory a priečinky Windows, ktoré je možné bezpečne odstrániť, aby sa uvoľnilo miesto na disku.

Čítajte ďalej
Súvisiace témy
  • Windows
  • Programovanie
  • Windows
O autorovi Ryan Dube(942 publikovaných článkov)

Ryan má bakalársky titul z elektrotechniky. Pracoval 13 rokov v automatizačnom inžinierstve, 5 rokov v IT a teraz je Apps Engineer. Bývalý vedúci redaktor MakeUseOf vystupoval na národných konferenciách o vizualizácii údajov a bol vystupovaný v národnej televízii a rozhlase.

naplánujte zrušenie inovácie systému Windows 10
Viac od Ryana Dubeho

prihlásiť sa ku odberu noviniek

Pripojte sa k nášmu bulletinu a získajte technické tipy, recenzie, bezplatné elektronické knihy a exkluzívne ponuky!

Kliknutím sem sa prihlásite na odber