Batch script │ Operatörlerin kullanımı

 Türkçe adıyla işleçler genel olarak operatörler mantıksal ifadelerde ve matematiksel işlemlerde kullanılmaktadır.

► Matematiksel işlem operatörleri;

Bu operatörleri değişken içinde uygulayabiliriz. Set parametresi ile değişkenler atayabiliyoruz. Matematiksel işlem yaptığımızda set parametresine /a komutunu eklememiz gerekiyor. Örnek; Set /a Hesap=1+2. Burada Hesap değişkeni içinde 1 ile 2 rakamlarını toplamasını sağladık. Zorunlu eğitim öğretim hayatını tamamlamış her bir bireyin bileceği dört işlemden ibarettir. Bölme işlemlerinde küsuratı vermemektedir. İşlem yaparken bunu göz önünde bulundurmayı ihmal etmeyin.

► Atama Operatörleri;

Dört işlemde uyguladığımız bu değişkenlerin farklı bir yöntemi daha bulunmaktadır. Bunlara atama operatörleri denmektedir. Burada bir değişkene tanımladığımız değere sonradan bir işlem yapmak istediğimizde içerideki değeri tanımlamaya gerek kalmadan yapacağımız işlemin değerini vermemiz yetmektedir.

:: Hesap değişkenine 7 rakamını tanımladık.
set Hesap=7
::
► Toplama [ += ]
set /a Hesap+=3
Çıktı= 10

► Çıkarma [ -= ]
set /a Hesap-=3
Çıktı= 4

► Çarpma [ *= ]
set /a Hesap*=3
Çıktı= 21

► Bölme [ /= ]
:: Bölme işlemleri küsarat vermez. İşlem yaparken göz önünde bulundurun.
set /a Hesap/=3
Çıktı= 2

► Kalan [ %%= ]
:: Komut ekranına doğrudan uygulamak isterseniz %= olarak uygulayın.
:: Bat/Cmd dosyalarında %%= olarak kullanılır
set /a Hesap%%=3
Çıktı= 1

► Mantıksal Operatörler; 

Bu operatörleri if sorgularında kullanırız

== Eşittir if 2==2 (echo eşittir) else (echo eşit değil)
EQU Eşittir if 2 EQU 2 (echo eşittir) else (echo eşit değil)
NEQ Eşit değil if 2 NEQ 3 (echo eşit değil) else (echo eşittir)
LSS Küçüktür if 2 LSS 3 (echo Küçüktür) else (echo Büyüktür)
LEQ Küçük veya eşittir if 2 LEQ 2 (echo Küçük veya eşit) else (echo Büyüktür)
GTR Büyüktür if 3 GTR 2 (echo Büyüktür) else (echo Küçüktür)
GEQ Büyük veya eşittir if 2 GEQ 2 (echo Büyük veya eşit) else (echo Küçüktür)

► Bitsel Operatörler;

& ve operatörü;

& ve operatörünü tek satırda birden fazla işlem yapmak istediğinizde kullanabilirsiniz. Örnekle anlatacak olursak aşağıda birden fazla satırda yazılması gereken kodları tek bir satırsa yazdık. & parametresi derli toplu kod yazmanız için güzel bir kullanım imkanı sunmaktadır.

:: Operatörle tek satırda yazılmış hali
echo off & cls & echo. & echo operatorleri ogreniyorum & pause & exit
:: Operatör olmadan normal şekilde yazılmış hali
echo off
cls
echo.
echo operatorleri ogreniyorum
pause
exit

> yönlendirme operatörü;

> yönlendirme operatörü batch kodlama dili kullandığınızda vazgeçemeyeceğiniz operatörlerdendir. Hata mesajlarını başarılı veya başarısız durumlarını nul'a yönlendirmesi, çıktıları dosyalara yazmakta çokça kullanacağımız bir operatördür.

:: dir /b komutuyla windows klasörünü sorguladık. > operatörüyle Nul'a yönlendirme yapıp çıktısını gizledik.
dir /b C:\Windows > NUL 2>&1
:: Findstr ile txt içinde yaptığım aramada bulduğum bölümü istediğim bir dosya içine yazıyorum
:: Yazdığım dosyanın mevcut olması önemli değildir. Yok ise yeniden oluşturulu.
:: Böyle bir dosya mevcut ise içeriği tamamen silinir.
Findstr /i "test araması" C:\deneme.txt > C:\Users\%username%\Desktop\Bulduk.txt
:: Yazdığımız dosyanın içiriğini silmeden eklemek istiyorsanız >> operatörünü kullanmanız gerekiyor
Findstr /i "test araması" C:\deneme.txt >> C:\Users\%username%\Desktop\Bulduk.txt

| veya operatörü;

| operatörünün batch kodlama dilindeki tam olarak karşılığını bilmiyorum. Ancak genel olarak dillerde veya olarak geçmektedir. Bu konuda yanlış bilgi verdiysem affola. Tabi burada tanımından ziyade işlevi hakkında bilgi sahibi olursanız nerede ve ne için kullanacağınızı anlamış olursunuz. Bu operatörü sıralı işlemlerde kullanıyoruz. Bir kod yazıp sorgulama yaptık. Çıktısında çok fazla bilgi var biz bunun içinden bir bölümü arıyoruz var olup olmadığını sorgulamamız gerekiyor. O zaman çıktıyı dosyaya aktarmadan doğrudan komut ekranı içerisinde sorgulatabiliriz. Bu operatörü For döngüleri içinde kullandığımızda ^| bu şekilde kullanmamız gerekiyor. Aksi takdir de FOR döngüsü çalışmaz. Örnek ile anlatacak olursak;

Örnek_1;

:: Sistemde yüklü olan appx uygulamaların listesini istedik
:: Daha sonra operatörümüzü yazdık ve Findstr komutuyla çıktı içinde istediğimiz kelimeyi arattık.
:: > operatörüyle başarılı veya başarısız çıktıları gizledik.
:: Böyle bir değer olup olmadığı errorlevel değişkenine tanımlandı.
:: if sorgusuyla mantıksal karşılaştırma yapıp duruma göre işlem yapabilirsiniz.
Powershell -C "Get-AppxPackage -AllUsers" | Findstr /i "WindowsStore" > NUL 2>&1
Örnek_2;
:: set komutu ile Value değerini değişken olarak tanımladım.
:: Değişken içinde bir değer aratmak için | operatörümüzü kullandık
:: Findstr ile istenilen değeri arattık.
:: > operatörüyle başarılı ve başarısız çıktıyı gizledik.
:: Artık errorlevel üzerinden mantıksal sorgu yapıp çıktımızı işleyebiliriz.
set Value=batch kodlama dilinde operatörler
echo %Value% | Findstr /i "batch" > NUL 2>&1

^ özel veya operatörü;

^ operatörünü diğer operatörleri atlaması için kullanabilirsiniz. Ancak tek işlevi operatörleri gizlemek değildir. For döngüleri içinde > | operatörlerini kullandığımızda olası hataları önlemesi için kullanıyoruz.

:: Bu örnek karmaşık yeni başlayanlar için karmaşık gelebilir.
:: For döngüsüyle Windows klasöründe dir komutuyla .exe dosyaları arattık
:: | parametresi For döngüsü için hata verir. Bunu önlemek için ^| olarak ekledik.
:: Bulduğumuz değeri echo ile yazdırdık. ^ operatörü olmasaydı For döngüsü çalışmayacaktı.
FOR /F "tokens=*" %%a in ('dir /b C:\Windows\*.exe ^| Findstr /i "regedit"') do (echo %%a)

= eşit operatörü;

= operatörünü değişkenlerde tanımlama yapmak için kullanıyoruz.

:: Value değişkeni içerisine set komutu ve = operatörüyle 12 sayısını tanımladık
set Value=12

Blogger tarafından desteklenmektedir.