5 příkazů IF k použití pro chytřejší dávkové skripty Windows

  • Peter Holmes
  • 0
  • 3939
  • 125
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 pro každý.

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 to pod 3 GB, chcete dostat e-mailovou zprávu, která říká, “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 off set DriveLimit = 300000000 pro / f "usebackq delims == tokeny = 2" %% x in ('wmic logicaldisk kde "DeviceID =' C: '" získává FreeSpace / format: value') nastaví FreeSpace = %% x Echo FreeSpace = "% FreeSpace%" Echo Limit = "% DriveLimit%" Pokud% FreeSpace% GTR% DriveLimit% (Echo Existuje dostatek volného místa.) jinde (Echo Nedostatek volného místa.)

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. Takhle “wmic” příkaz v tomto skriptu volá “logicaldisk” a umístí jej do proměnné FreeSpace. Nyní můžete pouze nahradit řádek “Echo Nedostatek volného místa” příkazem e-mail 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 účet. Neznáte nastavení plánovaných úloh? Máme pro vás článek o tom, jak nastavit naplánované úlohy systému Windows. 4 Nudné úkoly, které můžete automatizovat pomocí Plánovače úloh systému Windows 4 Nudné úkoly, které můžete automatizovat pomocí Plánovače úloh systému Windows Váš čas je příliš cenný na to, aby se promarňoval opakovanými úkoly . Ukážeme vám, jak automatizovat a naplánovat úkoly. Máme také několik skvělých příkladů. .

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, když 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 v ('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. 

Jak vypadá výstup tohoto skriptu.

Schopnost porovnávat řetězce v dávce 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. 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 odkopnout 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 VB Windows k automatizaci vašeho počítače Použijte 5 užitečných skriptů VB Windows k automatizaci využití počítače Od sledování webových stránek po systémové zprávy se dozvíte, jak automatizovat všechny věci pomocí těchto úžasných skriptů VB, které můžete v systému Windows nyní kódovat; některé 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) jinde (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 konkrétní složce, když nastane problém, můžete každou tak dlouhou dobu spouštět dávkovou úlohu a 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 v příkazu 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í.

Musíte pouze následovat váš příkaz příkazem 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 off 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 pomocí příkazu IF zkontrolovali konkrétní chybové kódy, Windows nabízí velmi rozsáhlý seznam chybových kódů.

5. Zkontrolujte chybějící parametry

Poslední užitečný příkaz IF není specifický příkaz, 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.

Samozřejmě nemůžete správně spustit skript 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 off 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 zintenzivnit, můžete se podívat na VBA s naším průvodcem vytvořením první aplikace VBA, nebo se dokonce naučit programování Pythonu..

Můžete často používat pokročilejší programovací jazyky, jako jsou tyto, nebo se naučit používat PowerShell 5 důvodů, proč byste měli používat PowerShell namísto dávkového skriptování 5 důvodů, proč byste měli používat PowerShell Místo dávkového skriptování Dávkové skriptování, hodil nějaké další funkce, a to všechno nakopal několik zářezů. Zde je několik důvodů, proč byste to měli vyzkoušet. , k provedení mnoha stejných úkolů, pro které aktuálně používáte dávkové úlohy.




Bisher hat noch niemand einen Kommentar zu diesem Artikel abgegeben.

O moderní technologii, jednoduché a cenově dostupné.
Váš průvodce ve světě moderních technologií. Naučte se, jak používat technologie a pomůcky, které nás každý den obklopují, a naučte se, jak objevovat na internetu zajímavé věci.