Komut: "IF" açık Windows 12, 11, 10, .. , MS Server 2025, 2022, 2019, .. mevcut
Komut örnekleri "IF"
Der
`IF`Windows Komut İstemi'ndeki komut, toplu komut dosyalarındaki koşullu ifadeleri yürütmek için kullanılır. İşte bazı örnekler:
Örnek 1: Basit eşitlik kontrolü:
@ECHO OFF
SET Variable1=10
SET Variable2=10
IF %Variable1% EQU %Variable2% (
ECHO Değişkenler aynı.
) ELSE (
ECHO Değişkenler eşit değil.
)
Açıklama: Bu örnekte değişkenler
`Variable1`Ve
`Variable2`karşılaştırıldı. Eşitlerse
"Değişkenler eşittir" mesajı görüntülenir. çıktı, aksi takdirde
"Değişkenler eşit değil."
Örnek 2: Dosya varlığının kontrol edilmesi:
@ECHO OFF
IF EXIST C:\Örnek.txt (
ECHO dosya var.
) ELSE (
ECHO dosya yok.
)
Açıklama: Bu, Example.txt dosyasının C:\ dizininde bulunup bulunmadığını kontrol eder. Dosya mevcutsa ilgili mesaj, aksi takdirde diğeri verilir.
Örnek 3: Kullanıcı girişinin kontrol edilmesi:
@ECHO OFF
SET /P kullanıcı_girişi=Lütfen bir değer girin:
IF "%kullanıcı_girişi%"=="" (
ECHO Bir değer girmediniz.
) ELSE (
ECHO Onlar sahip "%kullanıcı_girişi%" girdi.
)
Açıklama: Kullanıcının bir değer girip girmediğini kontrol eder. Herhangi bir giriş yapılmadıysa
"Değer girmediniz." mesajı görüntülenir. aksi takdirde girilen karakter dizisi görüntülenir.
Örnek 4: Dosya boyutunun kontrol edilmesi:
@ECHO OFF
SET dosya=C:\Örnek.txt
SET En küçük beden=1024
FOR %%A IN (%dosya%) DO SET Dosya boyutu=%%~zA
IF %Dosya boyutu% GEQ %En küçük beden% (
ECHO Dosya minimum boyutu karşılıyor.
) ELSE (
ECHO Dosya çok küçük.
)
Açıklama: Örnek.txt dosyasının boyutu burada kontrol edilir. Dosya boyutu minimum boyuttan büyük veya ona eşitse (
`En küçük beden`),
"Dosya minimum boyutu karşılıyor." çıktı, aksi takdirde
"Dosya çok küçük."
Örnek 5: İşletim sisteminin kontrol edilmesi:
@ECHO OFF
VER | FIND "Windows 10" > NUL
IF %ERRORLEVEL% EQU 0 (
ECHO kullan Windows 10.
) ELSE (
ECHO Farklı bir işletim sistemi kullanıyorsunuz.
)
Açıklama: Bu, işletim sisteminin Windows 10 olup olmadığını kontrol eder. Öyleyse
"Windows 10 kullanıyorsunuz" mesajı görüntülenir. aksi takdirde
"Farklı bir işletim sistemi kullanıyorsunuz."
Ölmek
`IF`ifadesi, toplu komut dosyalarındaki çeşitli koşulları kontrol etmeyi ve sonuçlara göre uygun eylemleri gerçekleştirmeyi mümkün kılar.
"IF" Microsoft Windows Yardımından Alıntı
Microsoft Windows [Version 10.0.19045.3693]
(c) Copyright 1985-2023 Microsoft Corp.
C:\\Windows>
Komut dosyasi programlarinda, kosullu islemleri yerine getirir.
IF [NOT] ERRORLEVEL sayi komutu
IF [NOT] dize1==dize2 komut
IF [NOT] EXIST dosyaadi komut
NOT Yalnizca kosul yanlissa, Windows'un
komutu yürütmesini belirtir.
ERRORLEVEL sayi Son çalistirilan program, belirtilen sayiya
esit ya da
büyük bir çikis kodu getirdiyse dogru bir
kosul belirtir.
dize1==dize2 Belirtilen metin dizeleri eslesirse dogru bir
kosul
belirtir.
EXIST dosyaadi Belirtilen dosyaadi varsa dogru bir kosul
belirtir.
komut Kosul yerine getirildiginde yürütülecek
komutu
belirtir. Komutun ardindan ELSE komut
gelebilir;
bu durumda, belirtilen kosul FALSE ise, ELSE
anahtar
sözcügü ardindaki komut yürütülür
ELSE kosulu, IF ardindan ayni satirda olusmalidir. Örnek olarak:
IF EXIST dosyaadi. (
del dosyaadi.
) ELSE (
echo dosyaadi. yok.
)
Del komutu yenisatir ile sonlandirilmasi gerektiginden, asagidaki
çalismayabilir:
IF EXIST dosyaadi. del dosyaadi. ELSE echo dosyaadi. yok
ELSE komutunun IF ardindan ayni satirda olusmasi gerekliligi
yüzünden
asagidaki de çalismayabilir:
IF EXIST dosyaadi. del dosyaadi.
ELSE echo dosyaadi. yok
Hepsini tek satirda isterseniz, asagidaki çalisabilir:
IF EXIST dosyaadi. (del dosyaadi.) ELSE echo dosyaadi. yok
Komut Uzantilari etkinse, IF asagidaki sekilde degisir:
IF [/I] dize1 kars-isl dize2 komut
IF CMDEXTVERSION sayi komut
IF DEFINED degisken komut
Karsilastirma isleçleri asagidakilerden biri olabilir:
EQU - esittir
NEQ - esit degildir
LSS - küçüktür
LEQ - küçüktür ya da esittir
GTR - büyüktür
GEQ - büyüktür ya da esittir
Ayrica, /I anahtari, belirtildiginde, büyük/küçük harf duyarsiz
dize
karsilastirmalari yapmasini bildirir. /I anahtari, IF'in
dize1==dize2
biçiminde de kullanilabilir. Bu karsilastirmalar, dize1 ile
dize2
tamamen rakamlardan olusuyorsa, dizeler sayiya dönüstürülüp
sayisal karsilastirma yapilacak sekilde soysaldir.
CMDEXTVERSION kosulu yalnizca ERRORLEVEL gibi isler; tek özel
durumu,
Komut Uzantilariyla iliskilendirilmis bir dahili iç sürüm
numarasiyla
karsilastirilir. Ilk sürüm 1'dir. Komut Uzantilarina önemli
gelisme
eklendiginde, bir artirilir.
Komut Uzantilari devre disiysa, CMDEXTVERSION kosulu hiçbir zaman
dogru
olmaz.
DEFINED kosulu, EXISTS gibi çalisir; tek farki ortam degiskeni
adi alip çevre
degiskeni tanimliysa dogru
döndürmesidir.
ERRORLEVEL adinda bir ortam degiskeni zaten olmadigi sürece,
%ERRORLEVEL% geçerli ERRORLEVEL degerinin dize temsilcisine
genisletilir.
Bu durumda, yerine kendi degerini alir.
Bir program çalistirdiktan sonra, ERRORLEVEL kullanimi asagidaki
sekilde
gösterilir:
goto cevap%ERRORLEVEL%
:cevap0
echo Programin döndürdügü kod 0
:cevap1
echo Programin döndürdügü kod 1
Yukaridaki sayisal karsilastirmalari yaparak asagidakini de
yapabilirsiniz:
IF %ERRORLEVEL% LEQ 1 goto okay
CMD.EXE tarafindan gerçeklestirilen islem öncesinde CMD.EXE'ye
gönderilen
özgün komut satirina %CMDCMDLINE% genisletilir; bunun için
CMDCMDLINE
adinda bir ortam degiskeni olmamasi gerekir. Bu durumda,
yerine kendi degerini alir.
CMDEXTVERSION adinda bir ortam degiskeni zaten olmadigi sürece,
%CMDEXTVERSION% geçerli CMDEXTVERSION degerinin dize temsilcisine
genisletilir. Bu durumda, yerine kendi degerini alir.
Önemli bilgiler, "IF" komutu için ipuçları
Kullanırken
`IF`Windows Komut İstemi'ndeki ifadede dikkat edilmesi gereken bazı önemli noktalar vardır:
1.
Koşul sözdizimi: Koşul sözdizimi
`IF`-Beyan, koşulun doğru ifade edilmesini gerektirir. Karşılaştırma operatörü (
`EQU`,
`NEQ`,
`LSS`,
`LEQ`,
`GTR`,
`GEQ`) karşılaştırılacak değerler arasında olmalıdır. Beklenmeyen hataları önlemek için söz dizimindeki boşluklara dikkat edin.
2.
Tırnak işaretlerinin kullanımı: Dizeleri doğrularken, koşulun doğru şekilde değerlendirildiğinden emin olmak için tırnak işaretlerinin kullanılması önemlidir. Örnek:
`IF "%Variable%"=="Değer" ...`
3.
Değişkenler: Koşulda değişkenler kullanıyorsanız bunların doğru şekilde eşleştiğinden emin olun
`%`olduğu gibi kapalıdır
`%Variable%`. Bu, değişkenin değerinin koşula doğru şekilde eklenmesini sağlar.
4.
ELSE ifadesi :`ELSE`ifadenin kapanış paranteziyle aynı satırda olması gerekir
`IF`yeni bir satırda durun veya başlayın. Örnek:
IF Durum (
Echo Durum doğrudur.
) ELSE (
Echo Koşul yanlış.
)
5.
Not`%ERRORLEVEL%`bir komuttan sonra: Eğer
`IF`başka bir komuttan sonra komut verebilirsiniz
`%ERRORLEVEL%`Bu komutun başarısını veya başarısızlığını kontrol etmek için. Örnek:
DIR C:\Varolmayan_dizin
IF %ERRORLEVEL% NEQ 0 (
Echo Yürütme hatası DIR-emretmek.
)
6.
Sayısal Karşılaştırmalar: Sayısal karşılaştırmalar için şunları yapmalısınız:
`EQU`,
`NEQ`,
`LSS`,
`LEQ`,
`GTR`,
`GEQ`Karşılaştırmaların doğru yapılmasını sağlamak.
7.
Mantıksal Operatörler: Aşağıdaki gibi mantıksal operatörleri kullanabilirsiniz:
`AND`(
`&&`) Ve
`OR`(
`||`) karmaşık koşullar yaratmak için. Örnek:
IF Exist dosya.txt IF %Variable% EQU Değer (
Echo Her iki koşul da doğrudur.
)
8.
Diğer komutlarla kombinasyon: Bunu yapabilirsiniz
`IF`-Koşullara göre farklı eylemler gerçekleştirmek için ifadeleri diğer komutlarla birleştirin.
9.
Boşluk: Koşullarınızda veya komutlarınızda gereksiz boşluk kullanmamaya dikkat edin; aksi takdirde bu beklenmeyen davranışlara yol açabilir.
Sözdizimini anlamak önemlidir.
`IF`-Talimatları dikkatlice anlayın ve istenen davranışı elde etmek için koşulların doğru şekilde formüle edildiğinden emin olun. Emin değilseniz resmi Microsoft belgelerine veya çevrimiçi kaynaklara başvurabilirsiniz.