Komento: "IF" on päällä Windows 12, 11, 10, .. , MS Server 2025, 2022, 2019, .. saatavilla
Esimerkit komennosta "IF"
The
`IF`Windowsin komentokehotteen komentoa käytetään ehdollisten lausekkeiden suorittamiseen eräkomentosarjoissa. Tässä on joitain esimerkkejä:
Esimerkki 1: Yksinkertainen tasa-arvon tarkistus:
@ECHO OFF
SET Variable1=10
SET Variable2=10
IF %Variable1% EQU %Variable2% (
ECHO Muuttujat ovat samat.
) ELSE (
ECHO Muuttujat eivät ole samanarvoisia.
)
Kuvaus: Tässä esimerkissä muuttujat
`Variable1`ja
`Variable2`verrattuna. Jos ne ovat yhtä suuret, näyttöön tulee viesti
"Muuttujat ovat yhtä suuret." tulos, muuten
"muuttujat eivät ole yhtä suuria."
Esimerkki 2: Tiedoston olemassaolon tarkistaminen:
@ECHO OFF
IF EXIST C:\Esimerkki.txt (
ECHO Tiedosto on olemassa.
) ELSE (
ECHO Tiedostoa ei ole olemassa.
)
Kuvaus: Tämä tarkistaa, onko tiedosto “Example.txt” olemassa C:\-hakemistossa. Jos tiedosto on olemassa, tulostetaan vastaava viesti, muuten toinen.
Esimerkki 3: Tarkistetaan käyttäjän syötteitä:
@ECHO OFF
SET /P user_input=Anna arvo:
IF "%user_input%"=="" (
ECHO Et ole antanut arvoa.
) ELSE (
ECHO Heillä on "%user_input%" astui sisään.
)
Kuvaus: Tämä tarkistaa, onko käyttäjä syöttänyt arvon. Jos syöttöä ei ole tehty, viesti
"Et ole syöttänyt arvoa". lähtö, muuten syötetty merkkijono näytetään.
Esimerkki 4: Tiedoston koon tarkistaminen:
@ECHO OFF
SET tiedosto=C:\Esimerkki.txt
SET Minimi_koko=1024
FOR %%A IN (%tiedosto%) DO SET Tiedoston koko=%%~zA
IF %Tiedoston koko% GEQ %Minimi_koko% (
ECHO Tiedosto täyttää vähimmäiskoon.
) ELSE (
ECHO Tiedosto on liian pieni.
)
Kuvaus: Esimerkki.txt-tiedoston koko tarkistetaan tästä. Jos tiedoston koko on suurempi tai yhtä suuri kuin vähimmäiskoko (
`Minimi_koko`), viesti
"Tiedosto täyttää vähimmäiskoon." tuloste, muuten
"Tiedosto on liian pieni."
Esimerkki 5: Käyttöjärjestelmän tarkistaminen:
@ECHO OFF
VER | FIND "Windows 10" > NUL
IF %ERRORLEVEL% EQU 0 (
ECHO sinä käytät Windows 10.
) ELSE (
ECHO Käytät eri käyttöjärjestelmää.
)
Kuvaus: Tämä tarkistaa, onko käyttöjärjestelmä Windows 10. Jos näin on, viesti
"Käytät Windows 10:tä". muuten
"Käytät eri käyttöjärjestelmää."
The
`IF`lauseke mahdollistaa eräskriptien eri ehtojen tarkistamisen ja tulosten perusteella tarvittavien toimenpiteiden toteuttamisen.
"IF" Ote Microsoft Windowsin ohjeesta
Microsoft Windows [Version 10.0.19045.3693]
(c) Copyright 1985-2023 Microsoft Corp.
C:\\Windows>
Aiheuttaa ehdollisen suorituksen komentojono-ohjelmassa.
IF [NOT] ERRORLEVEL numero komento
IF [NOT] merkkijono1==merkkijono2 komento
IF [NOT] EXIST tiedostonimi komento
NOT Määrittää, että Windows suorittaa komennon
vain,
jos tulos on epätosi.
ERRORLEVEL numero Määrittää tulokseksi tosi, jos viimeisimmän
ohjelman
lopetuskoodi oli yhtä suuri tai suurempi
kuin määritetty
numero.
mjono1==mjono2 Määrittää tulokseksi tosi, jos määritetyt
merkkijonot ovat samoja.
EXIST tiedostonimi Määrittää tulokseksi tosi, jos määritetty
tiedostonimi
on olemassa.
komento Määrittää komennon, joka suoritetaan, jos
ehto
toteutuu. Komentoa voi seurata ELSE-komento,
joka
suorittaa ELSEä seuraavan komennon, kun
määritetty
ehto on epätosi (FALSE).
ELSE-lauseen täytyy olla samalla rivillä kuin IF-komentoa
seuraava
komento, esimerkiksi:
IF EXIST tiedostonimi. (
del tiedostonimi.
) ELSE (
echo tiedostonimi. puuttuu.
)
Seuraava EI toimi, koska del-komennon täytyy päättyä
rivinvaihtoon:
IF EXIST tiedostonimi. del tiedostonimi. ELSE echo
tiedostonimi. puuttuu
Seuraavakaan esimerkki EI toimi, koska ELSE-komennon täytyy olla
samalla
rivillä kuin, jolla IF-komento loppuu:
IF EXIST tiedostonimi. del tiedostonimi.
ELSE echo tiedostonimi. puuttuu
Seuraava komento toimii, jos komentosarja halutaan yhdelle
riville:
IF EXIST tiedostonimi. (del tiedostonimi.) ELSE echo
tiedostonimi. puuttuu
Jos komentolaajennukset ovat käytössä, IF-komento muuttuu
seuraavasti:
IF [/I] mjono1 vrt-oper mjono2 komento
IF CMDEXTVERSION numero komento
IF DEFINED muuttuja komento
missä vrt-oper voi olla yksi seuraavista:
EQU - yhtä suuri
NEQ - eri suuri
LSS - pienempi kuin
LEQ - pienempi tai yhtä suuri kuin
GTR - suurempi kuin
GEQ - suurempi tai yhtä suuri kuin
ja /I-valitsin asettaa merkkikoon ei-merkitseväksi
merkkijonovertailussa.
/I-valitsinta voi käyttää myös IF mjono1==mjono2 -vertailussa.
Jos sekä mjono1 että mjono2 muodostuvat kokonaisuudessaan
numeerisista
merkeistä, merkkijonot muunnetaan numeroiksi, ja suoritetaan
numeerinen
vertailu.
CMDEXTVERSION-ehto toimii kuten ERRORLEVEL, paitsi että vertailu
tehdään
komentolaajennusten sisäiseen versionumeroon. Ensimmäinen
versionumero on 1.
Numeroa kasvatetaan yhdellä jokaisen komentolaajennuksiin
tehtävän merkittävän
muutoksen myötä. CMDEXTVERSION-ehto on aina epätosi, jos
komentolaajennukset
on kytketty pois käytöstä.
DEFINED-ehto toimii kuten EXISTS paitsi että se tutkii onko
annettu
ympäristömuuttuja määritelty. Mikäli se löytää kyseisen
ympäristömuuttujan,
se saa arvon tosi.
%ERRORLEVEL% laajentaa nykyisen ERRORLEVEL-arvon
merkkijonoesityksen,
ellei ERRORLEVEL-nimistä ympäristömuuttujaa ole määritetty
aiemmin, jolloin
käytetään sen arvoa. Seuraava esimerkki kuvaa ERRORLEVEL-arvon
käyttämistä
ohjelman suorittamisen jälkeen:
goto answer%ERRORLEVEL%
:answer0
echo Ohjelman paluukoodi on 0
:answer1
echo Ohjelman paluukoodi on 1
Voit käyttää myös yllä mainittuja numeerisia vertailuja:
IF %ERRORLEVEL% LEQ 1 goto okay
%CMDCMDLINE% laajentaa Cmd.exe-tiedostolle välitetyn alkuperäisen
komentorivin ennen Cmd.exe-tiedoston käsittelyä, ellei
CMDCMDLINE-nimistä
ympäristömuuttujaa ole määritetty aiemmin, jolloin käytetään sen
arvoa.
%CMDEXTVERSION% laajentaa nykyisen CMDEXTVERSION-arvon
merkkijonoesityksen, ellei CMDEXTVERSION-nimistä
ympäristömuuttujaa
ole jo olemassa, jolloin käytetään sen arvoa.
Tärkeää tietoa, vinkkejä "IF"-komennolle
Kun käytät
`IF`Windowsin komentokehotteessa on muutamia tärkeitä huomioitavia kohtia:
1.
Ehdon syntaksi: Kohteen syntaksi
`IF`- Lausunto edellyttää ehdon oikeaa sanamuotoa. Vertailuoperaattori (
`EQU`,
`NEQ`,
`LSS`,
`LEQ`,
`GTR`,
`GEQ`) on oltava vertailtavien arvojen välissä. Huomaa välilyönnit syntaksissa odottamattomien virheiden välttämiseksi.
2.
Lainausmerkkien käyttö: Merkkijonoja vahvistettaessa on tärkeää käyttää lainausmerkkejä sen varmistamiseksi, että ehto arvioidaan oikein. Esimerkki:
`IF "%Variable%"=="Arvo" ...`
3.
Muuttujat: Jos käytät muuttujia ehdossa, varmista, että ne täsmäävät oikein
`%`ovat mukana, kuten
`%Variable%`. Tämä varmistaa, että muuttujan arvo on lisätty oikein ehtoon.
4.
MUU lausunto: `ELSE`lausekkeen on oltava samalla rivillä kuin loppusulku
`IF`seisoa tai aloittaa uudella linjalla. Esimerkki:
IF Kunto (
Echo Kunto on totta.
) ELSE (
Echo Ehto on väärä.
)
5.
Huom`%ERRORLEVEL%`komennon jälkeen: Jos sinulla on
`IF`komento toisen komennon jälkeen, voit
`%ERRORLEVEL%`tarkistaaksesi tämän komennon onnistumisen tai epäonnistumisen. Esimerkki:
DIR C:\Ei_olemassa oleva_hakemisto
IF %ERRORLEVEL% NEQ 0 (
Echo Virhe suorituksessa DIR-komento.
)
6.
Numeeriset vertailut: Numeerisia vertailuja varten sinun tulee tehdä
`EQU`,
`NEQ`,
`LSS`,
`LEQ`,
`GTR`,
`GEQ`varmistaaksesi, että vertailut tehdään oikein.
7.
Loogiset operaattorit: Voit käyttää loogisia operaattoreita, kuten
`AND`(
`&&`) ja
`OR`(
`||`) monimutkaisten olosuhteiden luomiseksi. Esimerkki:
IF Exist tiedosto.txt IF %Variable% EQU Arvo (
Echo Molemmat ehdot pitävät paikkansa.
)
8.
Yhdistelmä muiden komentojen kanssa: Voit tehdä tämän
`IF`-Yhdistä käskyt muihin komentoihin suorittaaksesi erilaisia toimintoja olosuhteiden mukaan.
9.
Tyhjiö: Varo käyttämästä tarpeettomia välilyöntejä ehdoissasi tai komentoissasi, koska tämä voi johtaa odottamattomaan toimintaan.
On tärkeää ymmärtää sanan syntaksi
`IF`-Ymmärrä ohjeet huolellisesti ja varmista, että ehdot on muotoiltu oikein halutun käyttäytymisen saavuttamiseksi. Jos olet epävarma, voit tutustua virallisiin Microsoft-dokumentaatioihin tai online-resursseihin.