Hirdetés
Ha sok munkát végez a Windows kötegelt fájlokban, akkor a IF nyilatkozat nagyon hatékony módszert kínál a szkriptek rugalmasságának növelésére.
Ebben a cikkben megismerheti az IF fő nyilatkozatainak öt fő típusát, amelyeket a Windows kötegelt fájlban használhat, a helyes szintaxis kinézetét és mindegyik reális példáját.
Ha készen áll a szkriptek megkezdésére, kezdjük el!
1. Hasonlítsa össze az értékeket
Az egyik alapvető dolog, amelyet általában meg kell tennie egy kötegelt parancsfájlban hasonlítson össze két értéket és kövesse az eltéréstől függően az összehasonlítást.
Tegyük fel például, hogy egy kötegelt szkriptet akart írni, amely naponta ellenőrzi a számítógép merevlemezének méretét. Ha kevesebb, mint 3 GB, akkor e-mailt szeretne kapni, amelyben felhívja a figyelmet: „Túl kevés a merevlemez hely”.
Ha olyan szkriptet szeretne létrehozni, amely összehasonlítja a jelenlegi szabad merevlemez-területet a korlátjával, hozza létre a következő kötegelt szkriptet, és mentse el .bat fájlként.
@echo ki. set DriveLimit = 300000000. for / f "usebackq delims == tokens = 2" %% x in (`wmic logikai lemez, ahol" DeviceID = 'C:' "get FreeSpace / format: value`) be kell állítani a FreeSpace = %% x értéket. Echo FreeSpace = "% FreeSpace%" Echo Limit = "% DriveLimit%" Ha% FreeSpace% GTR% DriveLimit% (Echo Van elég szabad hely. ) else (Echo Nem elég szabad hely. )
A WMIC a Windows Windows Management Instrumentation összetevője, amely olyan parancsok választékával érkezik, amelyek felhasználhatók a PC-adatok lekérésére. Így hívja a szkript „wmic” parancs a „logikai lemez” helyet, és elhelyezi azt a FreeSpace változóban. Most már helyettesítheti az „Echo Nincs elég szabad hely” sort egy blat email paranccsal, hogy riasztást küldjön.
Végül állítsa be ezt a szkriptet Windows ütemezett kötegelt feladatként, amely naponta fut.
Ha még soha nem használta a blatot, akkor van egy cikkünk, amely megmutatja neked hogyan állítsd be a blatot. Nem ismeri az ütemezett munkák beállítását? Borítottuk meg egy cikket a a Windows ütemezett feladatainak beállítása 4 Unalmas feladat, amelyet a Windows Feladatütemezővel automatizálhatAz ideje túl értékes ahhoz, hogy ismétlődő feladatokra pazarolja az időt. Mutassuk meg, hogyan lehet automatizálni és ütemezni a feladatokat. Van néhány nagyszerű példa is. Olvass tovább .
2. Húros összehasonlítások
Egy másik értékes IF-összehasonlítás, amelyet egy kötegelt munkában megtehetsz húrok összehasonlítása.
A következő példában megtudhatja, hogyan ellenőrizheti Windows-verzióját kötegelt munkával. Akkor összehasonlíthatja ezt a várt Windows verzióval.
A szkript néhány felhasználása informatikai ellenőrzésekhez lenne szüksége, amikor gyorsan kell futtatnia egy szkriptet és ellenőriznie kell, hogy a jelenlegi operációs rendszer a legfrissebb, vagy frissítést igényel-e.
Így néz ki ez a szkript.
@echo ki. for / f "zsetonokhoz = 4-5 delim =. "%% i in ('ver'): VERSION = %% i. %% j. ha a "% version%" == "6.0" visszhangozza a Windows Vistát. ha a "% version%" == "6.1" visszhangja a Windows 7-nek. ha a "% version%" == "6.2" visszhangja a Windows 8-nak. ha a "% version%" == "6.3" visszatükrözi a Windows 8.1-et. ha a "% version%" == "10.0" visszhangozza a Windows 10-et.
Így néz ki a szkript kimenete.
A vonóságok tételben történő összehasonlításának képessége a lehetőségek teljes listáját nyitja meg. Ha az összeset felfedezi információ, amelyet egy WMIC paranccsal szerezhet be látni fogja, hogy hány statisztikát tud megfigyelni a számítógépéről. Használhat ütemezett kötegelt munkákat ezekre figyelmeztetésre.
3. Ellenőrizze, létezik-e fájl
Egy másik hasznos helyzet, amikor a kötegelt fájl IF utasítását kell megadni ellenőrizze az adatfájl meglétét.
A kötegelt feladat sokszor csak egy megfigyelő eszköz, amelyet fel lehet ütemezni egy adott könyvtár új bejövő adatfájljainak keresésére.
Ezután a kötegelt feladat átmásolhatja a fájlt egy másik helyre, ahol feldolgozható, vagy elindíthat néhány Windows szkriptet, amely feldolgozza a fájlt Excel kimenetre.
(A múltban arról írtunk, hogyan kell használja a Windows parancsfájlokat az adatok Excel fájlba történő feldolgozásához 5 Hasznos VB Windows parancsfájlok a számítógép használatának automatizálásáhozA webhelyek megfigyelésétől a rendszerjelentésekig kezdve megtanulhatja, hogyan lehet mindent automatizálni ezekkel a csodálatos VB szkriptekkel, amelyeket most a Windows kódolhat. Olvass tovább ; néhány jó háttérolvasás.)
A kötegelt fájl használata gyors és egyszerű annak ellenőrzéséhez, hogy van-e fájl egy könyvtárban. Így néz ki ez a szkript.
@echo ki. ha létezik c: \ temp \ datafile.txt (% WINDIR% \ SysWOW64 \ cmd.exe cscript LoadToExcel.vbs. ) else (rem fájl nem létezik. )
A KÉSZÜLÉKETŰ összehasonlítás sok minden számára hasznos.
Például ha fut egy rendszer vagy alkalmazás, amely új hibanaplókat hoz létre egy adott mappában, ha vannak Ha problémát jelent, kötegelt feladatot olyan gyakran futtathat, hogy ellenőrizze, hogy nem készülnek-e új hibanaplók, így küldhet éber.
4. Ellenőrizze, hogy nem sikerült-e egy parancs
A kötegelt fájlok szkriptelésének egy olyan aspektusa, amelyet túl kevés IT-ember vagy programozó használ hibák ellenőrzése.
Nagyon sok kötegelt munka lebeg körül, amelyek olyan kritikus informatikai feladatokat látnak el, mint például a fontos fájlok biztonsági mentése vagy a fájlmásolási műveletek futtatása. Amikor ezek a kötegelt feladatok megbuknak, a rendszerek meghibásodnak, és az emberek észreveszik.
Sokkal okosabb riasztást kapni, ha a kötegelt feladat sikertelen volt előtt az emberek észreveszik. Így proaktív módon megoldhatja a problémát.
Ezt megteheti a% errorlevel% változó felhasználásával, amelyet a legtöbb alkalmazás és parancs futtatása után ad vissza.
Csak annyit kell tennie, hogy követed az IF% ERRORLEVEL% parancs parancsát. Ha az alkalmazás vagy a parancs nullát adott vissza, akkor minden rendben. Ha nem, akkor e-mailt kell küldenie magának.
@echo ki. xcopy C: \ somefolder E: \ backupfolder. IF% ERRORLEVEL% NEQ 0
Nem kell elküldenie az e-mail útvonalat. Mindig írhat egy hibanaplót, amelyet minden reggel ellenőrizhet, vagy elindíthat egy második alkalmazást vagy parancsot, amely egy más parancs segítségével megkísérli a másolatot. Bármelyik lépést is végrehajtja, ha az% ERRORLEVEL% lehetővé teszi, hogy megtegye.
Ha inkább egy IF-nyilatkozatot használ az adott hibakódok ellenőrzésére, a Windows egy csodálatos megoldást kínál a hibakódok teljes listája.
5. Ellenőrizze, hogy nincsenek-e paraméterek
Az utolsó hasznos IF utasítás nem konkrét parancs, hanem annak ellenőrzése, hogy a szkript megkapta a megfelelő bemeneti paramétereket.
Tegyük fel például, hogy írt egy olyan szkriptet, amely xcopy parancsot hajt végre egy bemeneti mappából a csoport által használt közös hálózati mappába. A felhasználónak csak a szkript nevét kell követnie a paraméterekkel, amelyek meghatározzák a személyes fájl elérési útját.
Nyilvánvaló, hogy a megadott elérési út nélkül nem tudja megfelelően végrehajtani a szkriptet, ezért a szkript elejére tehet egy IF utasításot, hogy megbizonyosodjon arról, hogy mindkét paraméter be lett-e adva.
Így néz ki ez.
@echo ki. IF [% 1] == [] ( GOTO al_üzenet. ) MÁS ( xcopy% 1 E: \ backupfolder. ) GOTO eof.: Sub_message. echo Elfelejtette megadni az útját.: EOF.
Ha még soha nem használt paramétereket kötegelt parancsfájlokkal, akkor a százalékjelet, amelyet egy szám követ, a paraméterváltozó képviseli. % 1 az első paraméter,% 2 a második, és így tovább.
A kötegelt munkák hatékonyak lehetnek
Sokan elkezdik a kötegelt munkákat egyszerű feladatokhoz, amelyeket sorrendben kell végrehajtani. Az IF utasításokkal sokkal több intelligenciát lehet hozzáadni a szkriptekhez.
Természetesen, ha igazán szeretne egy fokkal tovább lépni, akkor érdemes megnéznie a VBA-t a mi útmutatónkkal az első VBA-alkalmazás létrehozása, vagy talán még megtanulják a Python programozást.
Gyakran használhat fejlettebb programozási nyelveket, például ezeket, vagy tanulja meg a PowerShell használatát 5 ok, amiért a PowerShell-et a Batch Scripting helyett kell használniA PowerShell az, amit akkor kaphat, ha átlépte a parancssort kötegelt parancsfájlokkal, beilleszt néhány extra funkciót, és mindegyikre több bevágást indított. Számos okot kell kipróbálnia. Olvass tovább , ugyanazon feladatok végrehajtásához, amelyekhez jelenleg kötegelt feladatokat használ.
Ryan BSc villamosmérnöki diplomával rendelkezik. 13 évet dolgozott az automatizálás területén, 5 évet az informatika területén, és most Apps Engineer. A MakeUseOf volt vezérigazgatója, az adatmegjelenítéssel foglalkozó nemzeti konferenciákon beszélt, és szerepelt a nemzeti televízióban és rádióban.