CMD ile Otomasyon: Batch Script Yazımı

"CMD ile Otomasyon: Batch Script Yazımı"

💠Batch Dosyasının Düzeltilmesi

Batch dosyaları bazen yanlış yazılmış komutlar, eksik parametreler veya uyumsuz sistem ayarları nedeniyle çalışmayabilir. İşte bir batch dosyasını düzeltmek için takip edebileceğin adımlar:

1. Dosyanın İçeriğini Kontrol Et

Öncelikle .bat dosyanı Not Defteri veya herhangi bir metin düzenleyici ile açarak içindeki komutları gözden geçir. Eksik veya yanlış yazılmış komutları düzelt.

2. Komutları Satır Satır Test Et

Batch dosyanın içindeki komutları tek tek CMD (Komut İstemi) üzerinden çalıştırarak hata olup olmadığını kontrol et. Eğer bir komut hata veriyorsa, nedenini araştır ve gerekirse komutu düzelt.

3. Hata Ayıklama Modunu Kullan

Batch dosyanın çalışırken hangi adımda hata verdiğini anlamak için @echo on komutunu kullanabilirsin:

@echo on

Bu komut sayesinde ekran çıktılarında hangi satırın çalıştığını görebilirsin.

4. Eksik veya Yanlış Değişkenleri Kontrol Et

Batch dosyan içerisinde kullanılan %variable% şeklindeki değişkenlerin doğru tanımlandığını ve içeriklerinin uygun olup olmadığını kontrol et.

5. Yolu ve Erişim Yetkilerini Kontrol Et

Dosya veya klasörlerle çalışan bir komut hata veriyorsa, belirtilen yolun doğru olup olmadığını ve dosya izinlerinin uygun olup olmadığını kontrol et.

6. Uyumluluğu Test Et

Bazı komutlar eski Windows sürümlerinde farklı çalışabilir. Dosyanın uyumluluğunu test etmek için Windows sürümüne uygun olup olmadığını araştır.

7. Çalıştırma Yetkisini Ver

Eğer batch dosyanın sistem seviyesinde işlem yapıyorsa, yönetici yetkisiyle çalıştırmayı dene:

  • Batch dosyanın üzerine sağ tıklayıp Yönetici Olarak Çalıştır seçeneğini seç.

8. Log Dosyası Oluştur ve Hata Tespit Et

Hata oluşan satırı görmek için komut çıktısını bir log dosyasına yönlendirebilirsin:

@echo off
your_command_here > log.txt 2>&1

Bu dosyayı açarak hataları inceleyebilir ve düzeltebilirsin.

💠Batch Script Yazımına Giriş: İlk Kodu Oluşturma

Batch scriptler, Windows işletim sisteminde Komut İstemi (CMD) komutlarını sıralı şekilde çalıştırarak otomasyon sağlar. İster dosya yönetimi, ister sistem bakımı, isterse ağ işlemleri olsun, batch dosyalarıyla birçok işlemi hızlandırabilirsiniz.

1. Batch Script Nedir?

Batch script, .bat uzantılı dosyalardır ve içinde yazılan komutları ardışık olarak çalıştırır. Bir batch dosyası oluşturmak için Not Defteri’ni açıp aşağıdaki gibi bir komut yazabilirsiniz:

@echo off
echo Merhaba, Batch Script ile ilk kodunuzu yazıyorsunuz!
pause

Bu kodu ilk_script.bat adıyla kaydedin ve çalıştırın. Ekranda mesajınızı göreceksiniz!

2. Batch Script’in Temel Yapısı

Batch dosyalarında kullanılan bazı temel komutlar:

  • @echo off → Komut satırındaki komutları ekrana göstermemek için kullanılır.
  • echo → Ekrana metin veya bilgi yazdırır.
  • pause → Kullanıcıdan bir tuşa basmasını bekler.
  • exit → Komut dosyasını sonlandırır.

3. Kullanıcıdan Veri Alma

Batch script ile kullanıcıdan veri almak mümkündür:

@echo off
set /p isim=Adınızı girin:
echo Merhaba, %isim%!
pause

Bu kod, kullanıcıdan adını alıp ekrana yazdırır.

4. Dosya İşlemleri

Batch scriptler ile dosya yönetimi de yapabilirsiniz:

@echo off
mkdir YeniKlasor
echo YeniKlasor oluşturuldu!
pause

Bu komut, bulunduğu dizinde YeniKlasor adlı klasörü oluşturur.

Batch script yazımı, temel komutlarla başlar ve zamanla daha kompleks otomasyon sistemlerine dönüşebilir

💠Değişkenler ve Kontrol Yapıları ile Güçlü Otomasyon

Batch scriptlerde değişkenler ve kontrol yapıları kullanarak işlemleri daha dinamik ve akıllı hale getirebilirsiniz. Bunlar sayesinde kullanıcı girdilerini işleyebilir, farklı koşullara göre komutları yönlendirebilir ve otomasyon sistemlerinizi daha esnek hale getirebilirsiniz.

1. Değişken Kullanımı

Değişkenler, verileri saklamak ve işlemek için kullanılır. Batch scriptlerde değişken tanımlamak için set komutunu kullanabilirsiniz:

@echo off
set isim=Ahmet
echo Merhaba, %isim%!
pause

Bu komut, isim değişkenine "Ahmet" değerini atar ve ekrana yazdırır.

Kullanıcıdan Girdi Alma

Batch scriptlerde kullanıcıdan veri alıp işlemek için set /p kullanılabilir:

@echo off
set /p isim=Adınızı girin: 
echo Hoş geldiniz, %isim%!
pause

Bu kod, kullanıcıdan adını alır ve ekrana yazdırır.


2. If-Else Kullanımı (Koşullu İfadeler)

İşlemleri belirli koşullara bağlı olarak yönlendirmek için if komutunu kullanabilirsiniz.

Örnek: Kullanıcının Şifresini Kontrol Etme

@echo off
set /p sifre=Şifrenizi girin: 
if %sifre%==1234 (
    echo Giriş başarılı!
) else (
    echo Hatalı şifre!
)
pause

Bu script, kullanıcının şifresini kontrol eder. Eğer doğru şifre girilirse "Giriş başarılı!" mesajı gösterilir, aksi takdirde "Hatalı şifre!" mesajı çıkar.


3. Döngüler ile Otomasyon

Döngüler sayesinde tekrarlayan işlemleri otomatik hale getirebilirsiniz.

Örnek: 1’den 5’e kadar sayıları ekrana yazdırma

@echo off
set /a sayi=1

:loop
echo Sayı: %sayi%
set /a sayi=%sayi%+1

if %sayi% LEQ 5 goto loop
echo Döngü tamamlandı!
pause

Bu kod, 1’den başlayarak 5’e kadar olan sayıları ekrana yazdırır.


4. Dosya ve Klasör Kontrolleri

Belirli bir dosyanın veya klasörün var olup olmadığını kontrol edebilirsiniz:

@echo off
if exist "C:\Dosya.txt" (
    echo Dosya bulundu!
) else (
    echo Dosya mevcut değil!
)
pause

Bu komut, belirtilen dosyanın var olup olmadığını kontrol eder ve buna göre ekrana mesaj yazdırır.


5. Güçlü Otomasyon İçin İpuçları

  • Kullanıcıdan alınan verileri doğrulamak için if kullanabilirsiniz.
  • Döngülerle uzun işlemleri otomatik hale getirebilirsiniz.
  • exist gibi kontrol ifadeleri ile sistemdeki dosya ve klasörleri yönetebilirsiniz.

Batch scriptlerde değişkenler ve kontrol yapıları, gelişmiş otomasyon sistemleri kurmanızı sağlar.

💠Dosya ve Klasör İşlemleri: CMD ile Yönetim

Batch scriptler ile dosya ve klasör işlemlerini yöneterek bilgisayarınızdaki işlemleri otomatize edebilirsiniz. CMD komutları sayesinde dosya oluşturma, taşıma, silme ve diğer yönetim işlemlerini hızlıca yapabilirsiniz.


1. Dosya ve Klasör Oluşturma

Yeni bir klasör oluşturmak için aşağıdaki komutu kullanabilirsiniz:

@echo off
mkdir C:\YeniKlasor
echo Klasör başarıyla oluşturuldu!
pause

Bu komut, belirtilen dizinde yeni bir klasör oluşturur.

Eğer bir dosya oluşturmak isterseniz:

@echo off
echo Bu benim yeni dosyam > C:\YeniKlasor\dosya.txt
echo Dosya oluşturuldu!
pause

Bu komut, "dosya.txt" adlı bir dosya oluşturur ve içerisine metin ekler.


2. Dosya ve Klasör Taşıma

Belirli bir dosyayı başka bir klasöre taşımak için move komutunu kullanabilirsiniz:

@echo off
move C:\EskiKonum\dosya.txt C:\YeniKonum\
echo Dosya taşındı!
pause

Bu komut, dosyanızı belirttiğiniz konuma taşır.

Eğer bir klasörü taşımak isterseniz:

@echo off
move C:\EskiKlasor C:\YeniKonum\
echo Klasör taşındı!
pause

Bu komut, klasörü belirtilen yeni konuma taşır.


3. Dosya ve Klasör Silme

Bir dosyayı silmek için aşağıdaki komutu kullanabilirsiniz:

@echo off
del C:\YeniKlasor\dosya.txt
echo Dosya silindi!
pause

Bu komut, "dosya.txt" adlı dosyayı siler.

Bir klasörü tamamen silmek için ise:

@echo off
rmdir /s /q C:\SilinecekKlasor
echo Klasör ve içeriği silindi!
pause

/s parametresi klasör içindeki tüm dosyaları da siler, /q ise işlemi onay istemeden gerçekleştirir.


4. Klasör İçeriğini Listeleme

Bir klasörde bulunan dosyaları ve alt klasörleri listelemek için aşağıdaki komutu kullanabilirsiniz:

@echo off
dir C:\HedefKlasor
pause

Bu komut, belirtilen klasördeki dosya ve klasörleri ekrana yazdırır.

Eğer sadece dosya isimlerini almak istiyorsanız:

@echo off
dir C:\HedefKlasor /b
pause

Bu komut, yalnızca dosya isimlerini listeleyerek daha sade bir çıktı sağlar.


5. Dosya Varlığını Kontrol Etme

Belirli bir dosyanın var olup olmadığını kontrol etmek için aşağıdaki komutu kullanabilirsiniz:

@echo off
if exist C:\KontrolDosyasi.txt (
    echo Dosya mevcut!
) else (
    echo Dosya bulunamadı!
)
pause

Bu script, belirtilen dosya varsa "Dosya mevcut!" mesajını, yoksa "Dosya bulunamadı!" mesajını ekrana yazdırır.


Batch scriptler sayesinde dosya ve klasörleri kolayca yöneterek işlemlerinizi otomatize edebilirsiniz. 

💠Kullanıcı Etkileşimi ve Geri Bildirim Mekanizmaları

Batch scriptlerde kullanıcı etkileşimi ekleyerek daha dinamik ve kontrol edilebilir otomasyonlar oluşturabilirsiniz. Kullanıcıdan veri almak, geri bildirim sağlamak ve işlemleri yönlendirmek için çeşitli komutlar kullanılır.


1. Kullanıcıdan Girdi Alma

Batch script ile kullanıcıdan veri almak için set /p komutu kullanılır. Örneğin, kullanıcının bir isim girmesini sağlayabilirsiniz:

@echo off
set /p isim=Adınızı girin: 
echo Hoş geldiniz, %isim%!
pause

Bu komut, kullanıcının adını alarak ekrana yazdırır.


2. Kullanıcıdan Seçim Yapmasını Sağlama

Kullanıcının bir seçenek belirlemesini istiyorsanız, if ve choice komutlarını kullanabilirsiniz.

@echo off
echo 1 - Bilgisayarı yeniden başlat
echo 2 - Çıkış yap
set /p secim=Seçiminizi girin: 

if %secim%==1 (
    shutdown /r /t 10
    echo Bilgisayar yeniden başlatılıyor...
) else if %secim%==2 (
    echo Çıkış yapılıyor...
    exit
)
pause

Bu komut, kullanıcının seçimine bağlı olarak bilgisayarı yeniden başlatabilir veya çıkış yapabilir.


3. Kullanıcıya Geri Bildirim Verme

Kullanıcıyı bilgilendirmek için echo komutu kullanılabilir. Örneğin, belirli bir işlem tamamlandığında geri bildirim vermek:

@echo off
echo Dosya yedekleme başlatıldı...
xcopy "C:\ÖnemliDosyalar" "D:\Yedekler" /E /I /Y
echo Yedekleme tamamlandı!
pause

Bu komut, işlem başladığında ve tamamlandığında ekrana mesaj yazdırarak kullanıcının süreci takip etmesini sağlar.


4. Kullanıcıdan Onay Alma

Bazı işlemlerde kullanıcının onay vermesini sağlamak için choice komutu kullanılabilir:

@echo off
echo Bu işlemi gerçekten yapmak istiyor musunuz?
choice /c YN /m "Evet için Y, Hayır için N tuşuna basın."
if %errorlevel%==1 (
    echo İşlem başlatıldı!
) else (
    echo İşlem iptal edildi!
)
pause

Bu komut, kullanıcıdan Evet (Y) veya Hayır (N) seçeneğini alır ve ona göre işlem yapar.


5. Kullanıcı Etkileşimini Geliştirme

Kullanıcıdan alınan verileri farklı işlemlerle birleştirerek etkileşimli scriptler oluşturabilirsiniz:

  • Kullanıcının yazdığı verileri bir dosyaya kaydetmek
  • Kullanıcı girişine bağlı olarak farklı görevleri çalıştırmak
  • Kullanıcıya işlemin durumu hakkında bilgi vermek

Batch scriptler ile etkileşimli ve kullanıcı dostu otomasyonlar oluşturabilirsiniz. 

 

💠Batch Dosyalarıyla İşlemleri Otomatikleştirme

Batch dosyaları, Windows işletim sisteminde belirli komutları ardışık şekilde çalıştıran scriptlerdir. Bu dosyalar sayesinde tekrar eden görevleri otomatik hale getirmek, zamandan tasarruf etmek ve iş akışlarını optimize etmek mümkündür.

Otomasyonun en büyük avantajı, kullanıcı etkileşimini minimuma indirerek işlemleri hızlandırmasıdır. Örneğin, belirli dosyaları düzenli olarak yedeklemek, sistemde bakım yapmak veya günlük işlemleri otomatik hale getirmek için batch dosyaları kullanılabilir.

Bir batch dosyası oluşturmak için basit bir .bat uzantılı dosya açmak ve içerisine CMD komutlarını yazmak yeterlidir. Örneğin:

@echo off
echo Dosya yedekleme başlatılıyor...
xcopy "C:\KaynakKlasor" "D:\YedekKlasor" /E /I /Y
echo Yedekleme tamamlandı!
pause

Bu script, belirli bir klasörü başka bir yere kopyalayarak otomatik bir yedekleme işlemi gerçekleştirir.

Batch dosyaları ile otomasyon sağlamak, sistem yönetimini daha verimli hale getirir. Daha karmaşık işlemler için döngüler, koşullu ifadeler ve hata yönetimi eklenerek daha güçlü scriptler yazılabilir.

Batch dosyalarıyla günlük görevleri kolaylaştırmak için kullanabileceğin bazı pratik komutları aşağıda listeledim. Bu komutlar sayesinde dosya yönetimi, sistem bakımı ve otomatik işlemleri hızlıca gerçekleştirebilirsin.

1. Belirli Bir Klasörü Otomatik Olarak Açma

Her gün sık kullandığın bir klasörü açmak için aşağıdaki komutu kullanabilirsin:

@echo off
start "" "C:\ÇalışmaKlasörü"
exit

Bu komut, belirlenen klasörü doğrudan açar. Günlük işlerin için faydalı olabilir.


2. Otomatik Yedekleme Yapma

Önemli dosyalarını belirli bir klasöre otomatik olarak yedeklemek için:

@echo off
xcopy "C:\ÖnemliDosyalar" "D:\Yedekler" /E /I /Y
echo Yedekleme tamamlandı!
exit

Bu komut, tüm alt klasörleriyle birlikte dosyalarını belirtilen dizine kopyalar.


3. Gereksiz Dosyaları Temizleme

Bilgisayarındaki geçici dosyaları ve gereksiz dosyaları temizlemek için:

@echo off
del /s /q C:\Users\%username%\AppData\Local\Temp\*.*
echo Geçici dosyalar silindi!
exit

Bu komut, sistemde biriken temp dosyalarını kaldırarak disk alanı açar.


4. Günlük Not Dosyası Oluşturma

Her gün otomatik olarak bir not dosyası oluşturmak için:

@echo off
echo Günlük notlar >> C:\Users\%username%\Desktop\Notlar_%date%.txt
exit

Bu komut, masaüstüne o günün tarihini içeren bir not dosyası ekler.


5. Otomatik Program Açma

Her gün kullandığın bir programı otomatik olarak çalıştırmak için:

@echo off
start "" "C:\Program Files\Notepad++\notepad++.exe"
exit

Bu komut, belirttiğin programı her çalıştırıldığında açar.

Bu komutları batch dosyasına ekleyerek günlük işlerini çok daha hızlı ve düzenli hale getirebilirsin.

💠CMD Komutları ile Otomasyonu Nasıl Sağlarsınız?

CMD (Komut İstemi) ile otomasyon sağlamak, bilgisayarınızdaki rutin işlemleri hızlı ve etkili bir şekilde gerçekleştirmenizi sağlar. Batch scriptler sayesinde manuel olarak yapılan işlemler belirli komutlar aracılığıyla otomatik hale getirilebilir.

1. Tekrarlayan Görevleri Otomatikleştirme

Günlük olarak tekrar eden görevleri, CMD komutları ile batch dosyalarına dönüştürerek otomatik hale getirebilirsiniz. Örneğin, her gün belirli bir dosyayı yedeklemek için:

@echo off
xcopy "C:\ÖnemliDosyalar" "D:\Yedekler" /E /I /Y
echo Yedekleme tamamlandı!
exit

Bu komut, dosyaları belirtilen klasöre yedekleyerek işlemi otomatize eder.

2. Programları Belirli Saatlerde Çalıştırma

CMD ve Task Scheduler kullanarak belirli programların otomatik olarak açılmasını sağlayabilirsiniz. Örneğin, her gün saat 9:00’da Not Defteri’ni açmak için aşağıdaki komut kullanılabilir:

schtasks /create /tn "NotDefteri" /tr "notepad.exe" /sc daily /st 09:00

Bu komut, Windows Görev Zamanlayıcısı aracılığıyla belirli bir zaman diliminde Not Defteri’ni başlatır.

3. Gereksiz Dosyaları Temizleme ve Bakım Yapma

Sisteminizde biriken gereksiz dosyaları silmek için otomatik bir script oluşturabilirsiniz:

@echo off
del /s /q C:\Users\%username%\AppData\Local\Temp\*.*
echo Geçici dosyalar temizlendi!
exit

Bu komut, temp dosyalarını kaldırarak bilgisayarınızın hızını artırır.

4. Kullanıcı Girdisi ile Otomatik İşlemler Yapma

Batch scriptlerde kullanıcıdan veri almak ve işlem yapmak mümkündür. Örneğin, kullanıcının belirlediği bir klasörde arama yapmak için:

@echo off
set /p folder=Aramak istediğiniz klasör yolunu girin:
dir "%folder%" /b
pause

Bu komut, kullanıcının belirttiği klasörde bulunan dosyaları listeler.

5. Ağ İşlemlerini Otomatikleştirme

Ağ bağlantılarını test etmek veya belirli bir IP adresine ping atmak için:

@echo off
ping google.com -n 5
echo Ağ bağlantısı kontrol edildi!
exit

Bu komut, belirli bir web sitesine ping atarak internet bağlantısını test eder.

CMD ile otomasyon sağlamak, bilgisayar kullanımınızı daha verimli hale getirir.

Aykhan Gasimzade Aykhan Gasimzade verified icon
Full Stack Developer

Merhaba! Ben Aykhan, 1999 doğumlu bir Azerbaycanlıyım ve 2017 yılından bu yana programlamayla ilgileniyorum. Teknolojinin büyülü dünyası beni her zaman etkilemiştir ve bu merakımı kendi blogumda paylaşarak daha geniş bir kitleyle buluşturmayı amaçlıyorum.