5 IF prohlášení k použití pro chytřejší dávkové skripty systému Windows

5 IF prohlášení k použití pro chytřejší dávkové skripty systému Windows

Pokud v dávkových souborech Windows odvedete hodně práce, soubor IF prohlášení nabízí velmi účinný způsob, jak přidat flexibilitu vašim skriptům.





V tomto článku se dozvíte o pěti hlavních typech příkazů IF, které můžete použít v dávkovém souboru Windows, jak vypadá správná syntaxe a realistický příklad pro každý z nich.





Pokud jste připraveni začít skriptovat, pojďme začít!





1. Porovnat hodnoty

Jedna ze základních věcí, které obvykle musíte v dávkovém skriptu udělat, je porovnat dvě hodnoty a podle srovnání proveďte jiný postup.

Řekněme například, že jste chtěli napsat dávkový skript, který denně kontroluje velikost pevného disku vašeho počítače. Pokud je menší než 3 GB, chcete získat e -mailovou zprávu s názvem „Místo na pevném disku je příliš nízké“.



Chcete -li vytvořit skript, který porovnává aktuální volné místo na pevném disku s vaším limitem, vytvořte následující dávkový skript a uložte jej jako soubor .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 součást Windows Management Instrumentation systému Windows, která je dodávána se sadou příkazů, které můžete použít k získání informací o počítači. Takto příkaz 'wmic' v tomto skriptu nazývá prostor 'logicaldisk' a umístí jej do proměnné FreeSpace. Nyní můžete nahradit řádek „Echo není dostatek volného místa“ příkazem blat email, který vám pošle upozornění.





Nakonec tento skript nastavte jako naplánovanou dávkovou úlohu systému Windows, která běží denně.

Pokud jste nikdy předtím nepoužívali blat, máme článek, který vám ukáže, jak nastavit blat. Neznáte nastavení plánovaných úloh? Připravili jsme pro vás článek o tom, jak nastavit naplánované úlohy systému Windows.





2. Srovnání řetězců

Další cenné srovnání IF, které můžete provést v dávkové práci, je porovnávání řetězců .

V následujícím příkladu uvidíte, jak zkontrolovat verzi systému Windows pomocí dávkové úlohy. Pak to můžete porovnat s vaší očekávanou verzí systému Windows.

Některá použití tohoto skriptu by byla pro audity IT, když potřebujete rychle spustit skript a ujistit se, že aktuální operační systém je nejnovější, nebo zda potřebuje upgrade.

Takto vypadá 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 vypadá výstup tohoto skriptu.

Možnost dávkového porovnávání řetězců otevírá celý seznam možností. Pokud prozkoumáte všechny informace, které můžete získat z příkazu WMIC uvidíte, kolik statistik o vašem počítači můžete sledovat. K upozornění na ně můžete použít naplánované dávkové úlohy.

3. Zkontrolujte, zda soubor existuje

Další užitečná situace, kdy příkaz IF v dávkovém souboru je zkontrolujte existenci datového souboru .

Dávková úloha je mnohdy pouze monitorovacím nástrojem, u kterého lze naplánovat kontrolu nových příchozích datových souborů v konkrétním adresáři.

Potom může dávková úloha buď zkopírovat tento soubor na jiné místo, kde jej lze zpracovat, nebo spustit některý skript systému Windows, který soubor zpracuje do výstupu aplikace Excel.

(V minulosti jsme psali o tom, jak ke zpracování dat do souboru aplikace Excel použijte skripty systému Windows ; dobré čtení na pozadí.)

Použití dávkového souboru ke kontrole, zda soubor existuje v adresáři, je rychlé a snadné. Takto skript vypadá.

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

Porovnání IF EXISTS je užitečné pro spoustu věcí.

Pokud například máte spuštěný systém nebo aplikaci, která v případě konkrétního adresáře vytváří nové protokoly chyb v konkrétní složce, můžete spouštět dávkovou úlohu tak často, abyste mohli sledovat, zda jsou vytvářeny nové protokoly chyb, abyste mohli odeslat upozornění.

4. Zkontrolujte, zda příkaz selhal

Aspekt dávkového skriptování, který používá příliš málo IT lidí nebo programátorů, je kontrola chyb .

Kolem se pohybuje spousta dávkových úloh, které provádějí důležité IT úkoly, jako je zálohování důležitých souborů nebo spouštění operací kopírování souborů. Když tyto dávkové úlohy selžou, systémy selžou a lidé si toho všimnou.

Je mnohem chytřejší dostat upozornění, když dávkové úlohy selhal příkaz před lidé si začínají všímat. Tímto způsobem můžete problém proaktivně vyřešit.

Toho můžete dosáhnout využitím proměnné % errorlevel %, kterou většina aplikací a příkazů vrací po spuštění.

Jediné, co musíte udělat, je následovat svůj příkaz příkazem IF % ERRORLEVEL %. Pokud aplikace nebo příkaz vrátil nulu, je vše v pořádku. Pokud ne, musíte si poslat e -mail.

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

Nemusíte používat trasu e -mailu. Vždy můžete napsat protokol chyb, který byste mohli každé ráno zkontrolovat, nebo spustit druhou aplikaci nebo příkaz, který se pokusí zkopírovat pomocí alternativního příkazu. Ať už chcete provést jakoukoli akci, IF % ERRORLEVEL % vám to umožní.

Pokud byste raději použili příkaz IF ke kontrole konkrétních chybových kódů, Windows nabízí hezké rozsáhlý seznam chybových kódů .

5. Zkontrolujte, zda chybí parametry

Poslední užitečný příkaz IF není konkrétní příkaz, ale místo toho kontrola skriptu obdržel příslušné vstupní parametry .

Řekněme například, že jste napsali skript, který provádí příkaz xcopy ze vstupní složky do společné síťové složky používané týmem. Uživatel musí pouze sledovat název skriptu s parametry definujícími jeho osobní cestu k souboru.

Očividně nemůžete správně spustit skript bez zadané cesty, takže můžete na začátek skriptu vložit příkaz IF, abyste se ujistili, že byly zadány oba parametry.

Takto to vypadá.

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

Pokud jste s dávkovými skripty nikdy předtím nepoužívali parametry, symbol procenta následovaný číslem představuje proměnnou parametru. %1 je první parametr, %2 je druhý atd.

Dávkové práce mohou být silné

Mnoho lidí začíná používat dávkové úlohy pro jednoduché úkoly, které je třeba provádět postupně. S příkazy IF je možné přidat do vašich skriptů mnohem více inteligence.

Samozřejmě, pokud to opravdu chcete zvýšit, můžete zvážit pohled na VBA s naším průvodcem vytvoření vaší první aplikace VBA , nebo se dokonce naučit programovat v Pythonu.

Často můžete použít pokročilejší programovací jazyky, jako jsou tyto, nebo se naučit používat PowerShell k provádění mnoha stejných úloh, pro které aktuálně používáte dávkové úlohy.

Podíl Podíl tweet E-mailem Vymažte tyto soubory a složky systému Windows, abyste uvolnili místo na disku

Potřebujete uvolnit místo na disku v počítači se systémem Windows? Zde jsou soubory a složky systému Windows, které lze bezpečně odstranit, aby se uvolnilo místo na disku.

Číst dále
Související témata
  • Okna
  • Programování
  • Okna
O autorovi Ryan Dube(942 publikovaných článků)

Ryan má bakalářský titul z elektrotechniky. Pracoval 13 let v automatizačním inženýrství, 5 let v IT a nyní je Apps Engineer. Bývalý vedoucí redaktor MakeUseOf hovořil na národních konferencích o vizualizaci dat a vystupoval v národní televizi a rozhlase.

jak najít hudbu ve videu na youtube
Více od Ryana Dubeho

Přihlaste se k odběru našeho zpravodaje

Připojte se k našemu zpravodaji a získejte technické tipy, recenze, bezplatné elektronické knihy a exkluzivní nabídky!

Kliknutím sem se přihlásíte k odběru