Mainos

Jos teet paljon työtä Windowsin eräajotiedostoissa, IF lausunto tarjoaa erittäin tehokkaan tavan lisätä joustavuutta skripteihisi.

Tässä artikkelissa opit viidestä IF-lauseiden päätyypistä, joita voit käyttää Windows-suoritustiedostossa, kuinka oikea syntaksi näyttää ja realistinen esimerkki jokaisesta.

Aloita! Jos olet valmis aloittamaan komentosarjojen tekemisen, aloitetaan!

1. Vertaa arvoja

Yksi perustoiminnoista, jotka sinun on yleensä tehtävä eräkäsikirjoituksessa, on vertaa kahta arvoa ja noudata erilaista toimintatapaa vertailusta riippuen.

Oletetaan esimerkiksi, että halusit kirjoittaa eräohjelman, joka tarkistaa tietokoneesi kiintolevyn koon päivittäin. Jos se on alle 3 Gt, haluat saada sähköpostiraportin, jossa lukee "Kiintolevyn tila liian vähäinen".

Luo komentosarja, joka vertaa nykyistä vapaata kiintolevytilaa rajaasi, luomalla seuraava eräohjelma ja tallentamalla se .bat-tiedostona.

@echo pois. aseta DriveLimit = 300000000. / f "usebackq delims == tokens = 2" %% x in (`wmic looginen levy, jossa" DeviceID = 'C:' "get FreeSpace / format: value`) asettaa FreeSpace = %% x. Echo FreeSpace = "% FreeSpace%" Kaikuraja = "% DriveLimit%" Jos% FreeSpace% GTR% DriveLimit% (Echo Vapaata tilaa on tarpeeksi. ) else (Echo Ei riittävästi tilaa. )

WMIC on Windowsin Windowsin hallintainstrumentointikomponentti, joka tulee valikoimaan komentoja, joita voit käyttää PC-tietojen keräämiseen. Näin komentosarjan ”wmic” -komento kutsuu “loogisen levyn” tilaa ja sijoittaa sen FreeSpace-muuttujaan. Nyt voit korvata rivin ”Kaiku ei ole tarpeeksi vapaata tilaa” blat-sähköpostikomennolla hälytyksen lähettämiseksi.

Aseta lopuksi tämä skripti Windowsin ajoitetuksi erätyöksi, joka suoritetaan päivittäin.

Jos et ole koskaan käyttänyt blat-levyä aiemmin, meillä on artikkeli, joka näyttää sinulle kuinka perustaa blat. Etkö tunne ajoitettujen töiden perustamista? Olemme saaneet sinut artikkeli aiheesta kuinka Windowsin ajoitetut tehtävät määritetään 4 tylsää tehtävää, jonka voit automatisoida Windowsin tehtävätoiminnon avullaAikasi on liian arvokas, jotta sitä ei tuhlata toistuvilla tehtävillä. Anna meidän näyttää sinulle kuinka automatisoida ja ajoittaa tehtäviä. Meillä on myös muutama hieno esimerkki. Lue lisää .

2. Merkkijonovertailut

Toinen arvokas IF-vertailu, jonka voit tehdä erätyössä, on merkkijonojen vertaaminen.

Seuraavassa esimerkissä näet kuinka tarkistaa Windows-versiosi erätyön avulla. Sitten voit verrata tätä odotettuun Windows-versioon.

Jotkut tämän komentosarjan käyttötavat ovat IT-auditointeja, kun joudut suorittamaan skripti nopeasti ja varmistamaan, että nykyinen käyttöjärjestelmä on uusin tai tarvitseeko se päivitystä.

Tässä on tämä käsikirjoitus.

@echo pois. / f "-merkeille = 4-5 delims =. "%% i in ('ver') asettaa VERSION = %% i. %% j. jos "% version%" == "6.0" toistavat Windows Vistan. jos "% version%" == "6.1" toistaa Windows 7: n. jos "% version%" == "6.2" kaikua Windows 8: ta. jos "% version%" == "6.3" toistavat Windows 8.1: n. jos "% version%" == "10.0" toistavat Windows 10: n. 

Tässä on tämän komentosarjan tulos.

Erätiedosto, Windows, ohjelmointi

Mahdollisuus verrata merkkijonoja erässä avaa kokonaisen luettelon mahdollisuuksista. Jos tutkit kaikkia tiedot, jotka voit saada WMIC-komennosta näet vain kuinka monta tilastotietoasi tietokoneestasi voit seurata. Voit käyttää ajoitettuja erätyöitä varoittamaan niistä.

3. Tarkista, onko tiedostoa olemassa

Toinen hyödyllinen tilanne, jossa IF-käsky komentojonotiedostossa on tarkista datatiedoston olemassaolo.

Usein erätyö on vain tarkkailutyökalu, joka voidaan suunnitella tarkistamaan uusia saapuvia datatiedostoja tietyssä hakemistossa.

Sitten erätyö voi joko kopioida tiedoston toiseen sijaintiin, jossa sitä voidaan käsitellä, tai käynnistää jonkin Windows-komentosarjan, joka käsittelee tiedoston Excel-tulosteen.

(Olemme aiemmin kirjoittaneet kuinka Käytä Windows-skriptejä tietojen käsittelemiseen Excel-tiedostoon 5 Hyödyllisiä VB Windows-komentosarjoja tietokoneen käytön automatisoimiseksiOpi automatisoimaan kaikki asiat näillä hämmästyttävillä VB-skripteillä, jotka voit koodata Windowsissa, verkkosivustojen seurannasta järjestelmäraportteihin. Lue lisää ; hyvää taustalukemaa.)

Eräajotiedoston käyttö tarkistaa, onko tiedostoa hakemistossa, nopeaa ja helppoa. Tässä on se, mitä skripti näyttää.

@echo pois. jos olemassa, c: \ temp \ datafile.txt (% WINDIR% \ SysWOW64 \ cmd.exe cscript LoadToExcel.vbs. ) else (rem-tiedostoa ei ole. )

IF EXISTS -vertailu on hyödyllinen monille asioille.

Esimerkiksi, jos käytössä on järjestelmä tai sovellus, joka luo uusia virhelokeja tiettyyn kansioon, kun ne ovat Ongelma, voit suorittaa eräajoja niin usein seurataksesi, luodaanko uusia virhelokeja, jotta voit lähettää hälytys.

4. Tarkista, onko komento epäonnistunut

Erä eräajotiedostojen komentosarjoja, joita liian vähän IT-henkilöitä tai ohjelmoijia käyttää virheiden tarkistaminen.

Siellä leijuu paljon erätyöpaikkoja, jotka suorittavat kriittisiä IT-tehtäviä, kuten tärkeiden tiedostojen varmuuskopiointia tai tiedostojen kopiointitoimintojen suorittamista. Kun nämä erätyöt epäonnistuvat, järjestelmät epäonnistuvat ja ihmiset huomaavat.

On paljon fiksumpaa saada hälytys, kun erätyö on epäonnistunut komennossa ennen ihmiset alkavat huomata. Tällä tavoin voit korjata ongelman ennakoivasti.

Voit tehdä tämän hyödyntämällä muuttujaa% errorlevel%, jonka suurin osa sovelluksista ja komennoista palauttaa niiden suorittamisen jälkeen.

Ainoa mitä sinun täytyy tehdä, on seurata komentoa IF% ERRORLEVEL% -komennolla. Jos sovellus tai komento palautti nollan, kaikki on kunnossa. Jos ei, sinun on lähetettävä itsellesi sähköpostia.

@echo pois. xcopy C: \ jonkin kansion E: \ varmuuskopion kansio. JOS% ERRORLEVEL% NEQ 0 

Sinun ei tarvitse kulkea sähköpostireittiä. Voit aina kirjoittaa virhelokin, jonka voit tarkistaa joka aamu, tai käynnistää toisen sovelluksen tai komennon, joka yrittää tehdä kopion vaihtoehtoisella komennolla. Mitä tahansa haluat tehdä, JOS% ERRORLEVEL% antaa sinun tehdä sen.

Jos haluat mieluummin käyttää IF-lauseketta tiettyjen virhekoodien tarkistamiseen, Windows tarjoaa hienon laaja luettelo virhekoodeista.

5. Tarkista puuttuvat parametrit

Viimeinen hyödyllinen IF-käsky ei ole tietty komento, vaan sen sijaan tarkistaa, että komentosarja vastaanotti asianmukaiset syöttöparametrit.

Oletetaan esimerkiksi, että olet kirjoittanut komentosarjan, joka suorittaa xcopy-komennon syöttökansiosta ryhmän käyttämään yhteiseen verkkokansioon. Käyttäjän on vain noudatettava komentosarjan nimeä parametreilla, jotka määrittelevät heidän henkilökohtaisen tiedoston polun.

Ilmeisesti et voi suorittaa skriptiäsi oikein ilman määritettyä polkua, joten voit laittaa IF-käskyn komentosarjan alkuun varmistaaksesi, että molemmat parametrit on syötetty.

Näin se näyttää.

@echo pois. JOS [% 1] == [] ( GOTO alaviesti. ) MUUT ( xcopy% 1 E: \ varmuuskopio. ) GOTO eof.: Sub_message. echo Unohdit määrittää polun.: EOF.

Jos et ole koskaan ennen käyttänyt parametreja eräkäsikirjojen kanssa, prosenttimerkki, jota seuraa numero, edustaa parametrimuuttujaa. % 1 on ensimmäinen parametri,% 2 on toinen ja niin edelleen.

Erätyöt voivat olla tehokkaita

Monet ihmiset alkavat käyttää erätyöitä yksinkertaisiin tehtäviin, jotka on suoritettava peräkkäin. IF-lauseilla on mahdollista lisätä paljon enemmän älykkyyttä skripteihisi.

Tietysti, jos haluat todella parantaa sitä astetta, voit harkita VBA: n katsomista oppaamme kautta ensimmäisen VBA-sovelluksesi luominentai ehkä edes oppia Python-ohjelmointia.

Voit käyttää usein edistyneempiä ohjelmointikieliä, kuten oppia käyttämään PowerShelliä 5 syytä, joiden vuoksi sinun pitäisi käyttää PowerShell-ohjelmaa eräkomentosarjojen sijastaPowerShell on se mitä saisit, jos ylität komentokehotteen eräkomentosarjoilla, heität joitain lisäominaisuuksia ja potkaisit sen kokonaan useita lovia. Tässä on useita syitä, miksi sinun pitäisi kokeilla sitä. Lue lisää , suorittaaksesi monia samoja tehtäviä, joissa tällä hetkellä käytät erätyöitä.

Ryanilla on BSc-tutkinto sähkötekniikasta. Hän on työskennellyt 13 vuotta automaatiotekniikassa, 5 vuotta IT: ssä ja on nyt sovellusinsinööri. MakeUseOfin entinen toimitusjohtaja, hänet puhutaan kansallisissa konferensseissa datan visualisoinnista ja hänet on esitelty kansallisessa televisiossa ja radiossa.