AutoIt Komut Dosyası Dili Kullanımı ve Örnekler

AutoIt Komut Dosyası Dili: Otomasyonun Güçlü Aracı

AutoIt, özellikle Windows tabanlı görevleri otomatikleştirmek için tasarlanmış, BASIC benzeri bir komut dosyası dilidir. Kullanımı kolay sözdizimi ve güçlü otomasyon yetenekleri sayesinde, sistem yöneticileri, yazılım test uzmanları ve tekrarlayan görevleri basitleştirmek isteyen herkes için ideal bir araçtır. Bu blog yazısında, AutoIt’in temel özelliklerini, kullanım alanlarını ve pratik örneklerle nasıl kullanılabileceğini inceleyeceğiz.

AutoIt Nedir?

AutoIt, Windows GUI (Grafik Kullanıcı Arayüzü) otomasyonu için tasarlanmış ücretsiz bir komut dosyası dilidir. Başlangıçta basit otomasyon görevleri için geliştirilmiş olsa da, zamanla gelişerek daha karmaşık otomasyon senaryolarını da destekler hale gelmiştir. AutoIt’in temel amacı, kullanıcı etkileşimlerini simüle etmek, pencere işlemlerini yönetmek, klavye ve fare hareketlerini kontrol etmek ve dosya işlemlerini gerçekleştirmektir.

Önemli Özellikleri:

  • BASIC benzeri sözdizimi: Öğrenmesi ve kullanması kolay bir sözdizimine sahiptir.
  • Küçük boyutlu ve bağımsız: Çalışması için ek kütüphanelere veya bağımlılıklara ihtiyaç duymaz.
  • Derlenebilir: Komut dosyaları, bağımsız çalıştırılabilir (.exe) dosyalara derlenebilir.
  • GUI otomasyonu: Pencere, kontrol ve diğer GUI öğeleriyle etkileşim kurabilir.
  • Klavye ve fare otomasyonu: Klavye tuşlarını ve fare hareketlerini simüle edebilir.
  • COM desteği: COM (Component Object Model) nesneleriyle etkileşim kurabilir.
  • Genişletilebilirlik: Kullanıcı tanımlı fonksiyonlar (UDF) ve DLL’ler ile genişletilebilir.
  • Ücretsiz ve açık kaynak: Tamamen ücretsizdir ve kaynak koduna erişilebilir.
  • AutoIt’in Kullanım Alanları

    AutoIt, çok çeşitli kullanım alanlarına sahiptir. İşte bazı yaygın örnekler:

  • Yazılım Kurulumu ve Yapılandırması: Yazılım kurulum süreçlerini otomatikleştirme, yapılandırma dosyalarını düzenleme.
  • Sistem Yönetimi: Kullanıcı hesapları oluşturma, dosya ve klasör izinlerini yönetme, sistem ayarlarını değiştirme.
  • Yazılım Testi: Yazılım uygulamalarını otomatik olarak test etme, regresyon testleri gerçekleştirme.
  • Web Otomasyonu: Web sitelerinde otomatik form doldurma, veri çekme (web scraping), tekrarlayan görevleri gerçekleştirme.
  • Oyun Otomasyonu: Oyunlarda tekrarlayan görevleri otomatikleştirme (ancak bu, oyunun kullanım koşullarına aykırı olabilir).
  • Veri Girişi ve İşleme: Büyük miktarda veriyi otomatik olarak girme ve işleme.
  • Rapor Oluşturma: Verileri toplama ve otomatik olarak raporlar oluşturma.
  • Temel AutoIt Komutları ve Örnekler

    AutoIt’in temel komutlarını ve pratik örneklerle nasıl kullanılabileceğini inceleyelim.

    1. Pencere İşlemleri

    Pencere işlemleri, AutoIt’in en güçlü özelliklerinden biridir. Pencere açma, kapatma, taşıma, boyutlandırma ve etkinleştirme gibi işlemleri gerçekleştirebilirsiniz.

    ; Notepad'i aç
    Run("notepad.exe")

    ; Notepad penceresini bekle WinWaitActive("Untitled - Notepad")

    ; Pencere başlığını değiştir WinSetTitle("Untitled - Notepad", "", "AutoIt ile Değiştirildi")

    ; Pencereyi kapat WinClose("AutoIt ile Değiştirildi")

    Bu örnek, Notepad’i açar, pencere başlığını değiştirir ve ardından pencereyi kapatır.

    Komut Açıklamaları:

  • `Run(“notepad.exe”)`: Belirtilen programı çalıştırır.
  • `WinWaitActive(“Untitled – Notepad”)`: Belirtilen başlığa sahip pencerenin aktif olmasını bekler.
  • `WinSetTitle(“Untitled – Notepad”, “”, “AutoIt ile Değiştirildi”)`: Pencere başlığını değiştirir. İlk parametre mevcut başlık, ikinci parametre boş (herhangi bir başlık) ve üçüncü parametre yeni başlıktır.
  • `WinClose(“AutoIt ile Değiştirildi”)`: Belirtilen başlığa sahip pencereyi kapatır.
  • 2. Klavye ve Fare İşlemleri

    Klavye ve fare işlemlerini kullanarak, kullanıcı etkileşimlerini simüle edebilirsiniz.

    ; Notepad'i aç
    Run("notepad.exe")
    WinWaitActive("Untitled - Notepad")

    ; Metin yaz Send("Merhaba Dünya!{ENTER}")

    ; Bir süre bekle Sleep(1000)

    ; Fareyi bir konuma taşı ve tıkla MouseMove(100, 100, 0) ; X=100, Y=100 konumuna fareyi taşı MouseClick("left", 100, 100, 1, 0) ; Sol tıklama yap

    Bu örnek, Notepad’i açar, “Merhaba Dünya!” yazar, bir süre bekler ve ardından fareyi belirli bir konuma taşıyarak sol tıklama yapar.

    Komut Açıklamaları:

  • `Send(“Merhaba Dünya!{ENTER}”)`: Belirtilen metni klavye aracılığıyla yazar. `{ENTER}` tuşu Enter tuşunu temsil eder.
  • `Sleep(1000)`: Belirtilen milisaniye kadar bekler (bu örnekte 1 saniye).
  • `MouseMove(100, 100, 0)`: Fareyi belirtilen koordinatlara taşır. Üçüncü parametre hızdır (0 en hızlı).
  • `MouseClick(“left”, 100, 100, 1, 0)`: Belirtilen koordinatlarda sol tıklama yapar. İlk parametre tıklama türü (sol, sağ, orta), ikinci ve üçüncü parametreler koordinatlar, dördüncü parametre tıklama sayısı ve beşinci parametre hızdır.
  • 3. Dosya İşlemleri

    Dosya işlemleri, dosya oluşturma, okuma, yazma, silme ve taşıma gibi işlemleri gerçekleştirmenizi sağlar.

    ; Bir dosya oluştur
    FileWrite("test.txt", "Bu bir test dosyasıdır.")

    ; Dosyayı oku $fileContent = FileRead("test.txt")

    ; Mesaj kutusunda içeriği göster MsgBox(0, "Dosya İçeriği", $fileContent)

    ; Dosyayı sil FileDelete("test.txt")

    Bu örnek, “test.txt” adında bir dosya oluşturur, içine bir metin yazar, dosyayı okur ve içeriği bir mesaj kutusunda gösterir ve ardından dosyayı siler.

    Komut Açıklamaları:

  • `FileWrite(“test.txt”, “Bu bir test dosyasıdır.”)`: Belirtilen dosyayı oluşturur ve içine belirtilen metni yazar.
  • `$fileContent = FileRead(“test.txt”)`: Belirtilen dosyayı okur ve içeriği bir değişkene atar.
  • `MsgBox(0, “Dosya İçeriği”, $fileContent)`: Bir mesaj kutusu görüntüler. İlk parametre bayraklar (0 basit bir mesaj kutusu), ikinci parametre başlık ve üçüncü parametre mesajdır.
  • `FileDelete(“test.txt”)`: Belirtilen dosyayı siler.
  • 4. Değişkenler ve Döngüler

    AutoIt, değişkenleri ve döngüleri kullanarak daha karmaşık komut dosyaları oluşturmanıza olanak tanır.

    ; Değişken tanımlama
    $count = 0

    ; Döngü While $count < 5 ; Mesaj kutusu göster MsgBox(0, "Sayaç", "Sayaç değeri: " & $count)

    ; Sayacı artır $count = $count + 1 WEnd

    Bu örnek, bir değişken tanımlar ve bir döngü kullanarak sayaç değerini artırır ve her adımda bir mesaj kutusu gösterir.

    Komut Açıklamaları:

  • `$count = 0`: Bir değişken tanımlar ve başlangıç değerini atar.
  • `While $count < 5`: Bir döngü başlatır. Döngü, `$count` değişkeni 5'ten küçük olduğu sürece devam eder.
  • `MsgBox(0, “Sayaç”, “Sayaç değeri: ” & $count)`: Bir mesaj kutusu görüntüler. `&` operatörü, metinleri birleştirmek için kullanılır.
  • `$count = $count + 1`: Sayacı bir artırır.
  • `WEnd`: Döngüyü sonlandırır.
  • Daha Gelişmiş Kullanım Alanları

    AutoIt, daha karmaşık otomasyon senaryoları için de kullanılabilir. Örneğin:

  • Veritabanı Bağlantısı: ADO (ActiveX Data Objects) kullanarak veritabanlarına bağlanabilir ve veri okuma/yazma işlemleri yapabilirsiniz.
  • Web Servisleri: HTTP istekleri göndererek web servisleriyle etkileşim kurabilirsiniz.
  • DLL Kullanımı: Harici DLL’leri kullanarak AutoIt’in yeteneklerini genişletebilirsiniz.
  • GUI Oluşturma: AutoIt’in GUIDesigner aracı ile özel kullanıcı arayüzleri oluşturabilirsiniz.

AutoIt Komut Dosyalarını Derleme

AutoIt komut dosyalarını, AutoIt Script Editor (SciTE4AutoIt3) kullanarak yazabilir ve düzenleyebilirsiniz. Komut dosyalarını çalıştırmak için doğrudan SciTE4AutoIt3’ü kullanabilir veya komut dosyalarını bağımsız çalıştırılabilir (.exe) dosyalara derleyebilirsiniz. Derleme işlemi, komut dosyasının AutoIt Interpreter ile birlikte paketlenmesini sağlar, böylece komut dosyası AutoIt kurulu olmayan sistemlerde de çalışabilir.

Derleme Adımları:

1. SciTE4AutoIt3’ü açın ve komut dosyanızı düzenleyin.
2. `Tools` menüsünden `Compile` seçeneğini seçin veya `Ctrl+F7` tuşlarına basın.
3. Derleme işlemi tamamlandığında, komut dosyasıyla aynı dizinde bir .exe dosyası oluşturulacaktır.

Sonuç

AutoIt, Windows tabanlı otomasyon görevleri için güçlü ve kullanımı kolay bir araçtır. Bu blog yazısında, AutoIt’in temel özelliklerini, kullanım alanlarını ve pratik örneklerle nasıl kullanılabileceğini inceledik. AutoIt’i öğrenerek, tekrarlayan görevleri otomatikleştirerek zamandan tasarruf edebilir ve verimliliğinizi artırabilirsiniz. Başlamak için AutoIt’in resmi web sitesini (www.autoitscript.com) ziyaret edebilir ve daha fazla bilgi edinebilirsiniz.

Önemli Not: AutoIt’i kullanırken, otomasyonun yasal ve etik sınırları içinde kaldığınızdan emin olun. Özellikle oyun otomasyonu gibi alanlarda, oyunun kullanım koşullarını ihlal etmekten kaçının.