reklama

Pokud děláte hodně práce v dávkových souborech Windows, IF prohlášení nabízí velmi účinný způsob, jak zvýšit flexibilitu vašich skriptů.

V tomto článku se seznámíte s pěti hlavními typy příkazů IF, které můžete použít v dávkovém souboru systému Windows, jak vypadá správná syntaxe a realistickým příkladem každého z nich.

Pokud jste připraveni začít skriptovat, začněme!

1. Porovnejte hodnoty

Jednou ze základních věcí, které obvykle potřebujete v dávkovém skriptu, je porovnat dvě hodnoty a postupujte podle jiného postupu v závislosti na srovnání.

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

Chcete-li vytvořit skript, který porovná 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 vypnuto. set DriveLimit = 300000000. pro / f "usebackq delims == tokeny = 2" %% x in (`wmic logicaldisk, kde" DeviceID = 'C:' "get FreeSpace / format: value`) nastaví FreeSpace = %% x. Echo FreeSpace = "% FreeSpace%" Echo Limit = "% DriveLimit%" Pokud je% FreeSpace% GTR% DriveLimit% (Echo, je zde dostatek volného místa. ) else (Echo Nedostatek volného místa. )
instagram viewer

WMIC je součást Windows Management Instrumentation ve Windows, která je dodávána s řadou příkazů, které můžete použít k získání informací o PC. Takto příkaz „wmic“ v tomto skriptu nazývá prostor „logicaldisk“ a umístí jej do proměnné FreeSpace. Nyní můžete jednoduše nahradit řádek „Echo Nedostatek volného místa“ příkazem e-mailu s e-mailem, který vám pošle upozornění.

Nakonec nastavte tento skript jako plánovanou dávkovou úlohu systému Windows, která se spouští denně.

Pokud jste dosud žádný účet nepoužívali, máme článek, který vám ukáže jak nastavit blat. Neznáte nastavení plánovaných úloh? Máme pro vás článek o jak nastavit naplánované úlohy Windows 4 Nudné úkoly, které můžete automatizovat pomocí Plánovače úloh systému WindowsVáš čas je příliš cenný na to, abyste se zbytečně opakovali. Ukážeme vám, jak automatizovat a naplánovat úkoly. Máme také několik skvělých příkladů. Přečtěte si více .

2. Porovnání řetězců

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

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

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

Jak tento skript vypadá?

@echo vypnuto. pro / f "tokeny = 4-5 delims =. "%% i in ('ver') nastaví VERSION = %% i. %% j. pokud "% version%" == "6.0" echo Windows Vista. pokud "% version%" == "6.1" echo Windows 7. pokud "% version%" == "6.2" echo Windows 8. pokud "% version%" == "6.3" echo Windows 8.1. pokud "% version%" == "10.0" echo Windows 10. 

Vypadá to, jak vypadá výstup tohoto skriptu.

Dávkový soubor, Windows, programování

Schopnost porovnávat řetězce v dávce otevírá celý seznam možností. Pokud prozkoumáte všechny informace, které lze získat z příkazu WMIC uvidíte, kolik statistik o vašem počítači můžete sledovat. Na tyto výstrahy můžete použít naplánované dávkové úlohy.

3. Zkontrolujte, zda soubor existuje

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

Mnohokrát je dávková úloha pouze monitorovacím nástrojem, který může být naplánován na kontrolu nových příchozích datových souborů v konkrétním adresáři.

Potom může dávková úloha tento soubor zkopírovat do jiného umístění, kde může být zpracována, nebo může spustit skript systému Windows, který soubor zpracovává do výstupu aplikace Excel.

(V minulosti jsme psali o tom, jak používat skripty Windows pro zpracování dat do souboru Excel 5 Užitečné skripty Windows VB pro automatizaci používání počítačeOd sledování webových stránek až po systémové zprávy se naučte, jak automatizovat všechny věci pomocí těchto úžasných skriptů VB, které můžete nyní v systému Windows kódovat. Přečtěte si více ; nějaké dobré čtení na pozadí.)

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

@echo vypnuto. pokud existuje c: \ temp \ datafile.txt (% WINDIR% \ SysWOW64 \ cmd.exe cscript LoadToExcel.vbs. ) else (soubor rem neexistuje). )

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

Například pokud máte spuštěný systém nebo aplikaci, která vytváří nové protokoly chyb v určité složce, když tam jsou problém, můžete spustit dávkovou úlohu tak často, abyste mohli sledovat, zda jsou vytvářeny nové protokoly chyb, takže můžete odeslat upozornění.

4. Zkontrolujte, zda příkaz selhal

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

Tam je spousta dávkových úloh plujících kolem, 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ů. Při selhání těchto dávkových úloh dojde k selhání systémů a lidé si to všimnou.

Je mnohem chytřejší získat upozornění, když vaše dávková úloha selhala příkazem před lidé si začínají všímat. Tímto způsobem můžete problém řešit aktivně.

To lze provést pomocí proměnné% errorlevel%, kterou většina aplikací a příkazů vrací po jejich spuštění.

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

@echo vypnuto. xcopy C: \ somefolder E: \ backupfolder. IF% ERRORLEVEL% NEQ 0 

Nemusíte jít e-mailovou cestou. Vždy můžete napsat protokol chyb, který byste mohli zkontrolovat každé ráno, nebo spustit druhou aplikaci nebo příkaz, který se pokusí provést kopii 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ů, systém Windows nabízí pěkné rozsáhlý seznam chybových kódů.

5. Zkontrolujte chybějící parametry

Poslední užitečný příkaz IF není specifickým příkazem, ale místo toho zkontroluje, zda skript přijal příslušné vstupní parametry.

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

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

Takhle to vypadá.

@echo vypnuto. IF [% 1] == [] ( GOTO sub_message. ) ELSE ( xcopy% 1 E: \ backupfolder. ) GOTO eof.: sub_message. echo Zapomněli jste zadat svou cestu.: eof.

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

Dávky mohou být výkonné

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é do skriptů přidat mnohem více inteligence.

Samozřejmě, pokud to opravdu chcete zrychlit, můžete zvážit prohlídku VBA s naším průvodcem vytvoření první aplikace VBA, nebo možná dokonce Naučte se programovat Python.

Často můžete používat pokročilejší programovací jazyky, jako jsou tyto, nebo Naučte se používat PowerShell 5 důvodů, proč byste měli používat PowerShell místo dávkového skriptováníPowerShell je to, co byste dosáhli, kdybyste překročili příkazový řádek s dávkovým skriptováním, hodili nějaké další funkce a vše nakopali několika zářezy. Zde je několik důvodů, proč byste to měli vyzkoušet. Přečtěte si více , k provedení mnoha stejných úkolů, pro které v současné době používáte dávkové úlohy.

Ryan má bakalářský titul z elektrotechniky. Pracoval 13 let v automatizační technice, 5 let v IT a nyní je Apps Engineer. Bývalý šéfredaktor MakeUseOf, vystoupil na národních konferencích o vizualizaci dat a vystupoval v národních televizích a rádiích.