Windows'ta Toplu Komut Dosyası Nasıl Yazılır

Komut İstemi'ni nasıl kullanacağınızı biliyor musunuz? Eğer yaparsanız, bir toplu iş dosyası yazabilirsiniz. En basit şekliyle, bir toplu iş dosyası (veya toplu komut dosyası), dosyayı çift tıkladığınızda yürütülen birkaç komutun bir listesidir. Toplu iş dosyaları DOS'a kadar geri gider, ancak yine de Windows'un modern sürümlerinde çalışır.

PowerShell betikleri ve Bash betikleri daha güçlü olabilir, ancak temel Windows komutlarını çalıştırmanız gerekiyorsa toplu iş dosyaları yine de çok yararlı olabilir.

Toplu Dosya Temelleri

Bir toplu iş dosyası, .bat dosya uzantısıyla kaydedilmiş bir metin dosyasıdır. Not Defteri'ni veya Notepad ++ gibi daha gelişmiş bir metin düzenleyiciyi kullanarak bir tane yazabilirsiniz, ancak Microsoft Word gibi bir kelime işlemci kullanmayın.

Basit bir toplu iş dosyası oluşturalım. İlk önce Not Defteri'ni açın. Aşağıdaki satırları içine yazın:

ECHO OFF ECHO Merhaba Dünya DURAKLAT

Ardından, Dosya> Kaydet'e tıklayarak dosyayı kaydedin. İstediğiniz adı verin, ancak varsayılan .txt dosya uzantısını .bat uzantısıyla değiştirin.

Örneğin, bir isim vermek isteyebilirsiniz hello_world.bat.

Artık .bat dosya uzantısına sahip bir toplu iş dosyanız var. Çalıştırmak için çift tıklayın. Bu belirli toplu iş dosyası, ECHO'yu kapatır (komut isteminde yazdırılmasını gizleyerek çıktıyı temizler, ekrana “Merhaba Dünya” metnini yazdırır ve ardından bitmeden önce bir tuşa basmanızı bekler.

PAUSEDosyaya ekleme yapmadıysanız , toplu iş dosyası komutlarını çalıştırır ve ardından otomatik olarak kapanır. Bu durumda, pencereye "Merhaba Dünya" yazdırır ve ardından Komut İstemi penceresini hemen kapatır. Çıktıyı görmeden komutları hızlıca çalıştırmak istediğinizde, bunu atlayabilirsiniz. Birkaç komut çalıştırıyorsanız, PAUSEkomutu bunların arasına yerleştirebilirsiniz.

Daha Karmaşık Bir Toplu İş Dosyası Yazma

Bir toplu iş dosyası oluşturmak temelde basittir. Değiştirmeniz gereken tek şey, Not Defteri'ne yazdıklarınızdır. Birkaç komut çalıştırmak için her birini kendi satırına yazarsınız ve toplu iş dosyası her birini sırayla çalıştırır.

Örneğin, birkaç ağ tanılama komutunu çalıştıran bir toplu iş dosyası yazmak istediğimizi varsayalım. Biz çalıştırmak isteyebilirsiniz ipconfig /all, görünüm ağ bilgilerine ping google.comGoogle'ın sunucuları yanıt olup olmadığını görmek için, ve tracert google.comgoogle.com adresine bir traceroute çalıştırmak ve yolda herhangi bir sorun olup olmadığını görmek.

En basit haliyle, tüm bu komutları bir toplu iş dosyasına, şu şekilde birbiri ardına yerleştirebiliriz:

ipconfig / all ping google.com tracert google.com DURAKLAT

Bu dosyayı çalıştırdığımızda, her komutun çıktısını birbiri ardına görürdük. Ancak bu, bir toplu iş dosyası yazmak için ideal bir yol olmayabilir.

Örneğin, yorum satırları eklemek isteyebilirsiniz. A ile başlayan herhangi bir satır ::bir açıklama satırıdır ve çalıştırılmayacaktır. Bu, onları dosyada neler olup bittiğini, onu verebileceğiniz veya gelecekteki benliğiniz için, oraya neden belirli bir emir koyduğunuzu unutabilecek herhangi biri için açıklamanın yararlı bir yolu yapar.

Dosyanın başına “ECHO OFF” komutunu da eklemek isteyebilirsiniz. Bu genellikle çoğu toplu iş dosyasının başlangıcına eklenir. Bunu yaptığınızda, komutların kendisi Komut İstemi'ne yazdırılmaz, ancak sonuçlar olacaktır. Örneğin, ağ bağlantısı ayrıntılarını görürsünüz ancak “ipconfig / all” satırını göremezsiniz. Çoğu kişi komutları görmeyi umursamaz, bu nedenle bu çıktıyı temizleyebilir.

İşte bu nasıl görünebilir:

:: Bu toplu iş dosyası, ağ bağlantısı sorunlarını kontrol eder. ECHO OFF :: Ağ bağlantısı ayrıntılarını görüntüleyin ipconfig / all :: Google.com'a ulaşılıp ulaşılmadığını kontrol edin ping google.com :: Google.com tracert google.com'a giden yolu kontrol etmek için bir traceroute çalıştırın DURAKLAT

Bunun gibi bir toplu iş dosyasıyla gidebileceğiniz başka talimatlar da var. Örneğin, toplu komut dosyanızın yukarıdaki komutları çalıştırmasını ve ardından çıktıyı daha sonra görüntüleyebileceğiniz bir metin dosyasına dökmesini isteyebilirsiniz. Bunu yapmak için, >>her komutun çıktısını metin dosyasına eklemek için operatörü kullanırsınız . Yine de metin dosyasından çıktıyı okuyacağımız için, PAUSEkomutu atlayabiliriz .

:: Bu toplu iş dosyası, ağ bağlantısı sorunlarını kontrol eder :: ve çıktıyı bir .txt dosyasına kaydeder. ECHO OFF :: Ağ bağlantısı ayrıntılarını görüntüleyin ipconfig / all >> results.txt :: Google.com'a ulaşılıp ulaşılmadığını kontrol edin ping google.com >> results.txt :: Google.com tracert google'a giden yolu kontrol etmek için bir iz yolu çalıştırın. com >> results.txt

Yukarıdaki komut dosyasını çalıştırdıktan sonra, komutların çıktısını içeren toplu iş dosyasıyla aynı klasörde results.txt adlı bir dosya bulacaksınız. Toplu iş dosyası çalıştıktan sonra Komut İstemi penceresi otomatik olarak kapanacaktır.

Yukarıda kullandığımız örnek, kullanıcının okuyabilmesi için aslında Komut İstemi'ne bilgi yazdırmaya dayanır. Ancak, birçok toplu iş dosyası etkileşimsiz olarak çalıştırılmak üzere tasarlanmıştır. Örneğin, her çift tıkladığınızda birden çok dosyayı veya dizini silen bir toplu iş dosyanız olabilir. delDosyaları silmek için deltreekomutu veya dizinleri silmek için komutu kullanmanız gerekir . Unutmayın, bir Komut İstemi penceresinde çalıştırdığınız komutların aynısını kullanıyorsunuz.

Temel olarak, çoğu toplu iş dosyasının amacı budur - sadece birkaç komutu birbiri ardına çalıştırmak. Ancak, toplu iş dosyaları aslında bundan çok daha karmaşık olabilir. Örneğin, bir şeyin değerini kontrol etmek için "EĞER" komutuyla birlikte "GOTO" komutunu kullanabilir ve ardından sonuca bağlı olarak farklı satırlara geçebilirsiniz. Bu, hızlı ve kirli bir komut dosyasından çok gerçek bir küçük program yazmaya benzer. Bat dosyalarının bazen "toplu program" olarak adlandırılmasının bir nedeni de budur. Daha karmaşık bir şey yapmak istiyorsanız, çevrimiçi toplu programlama ile belirli şeyler yapmak için birçok kılavuz bulacaksınız. Ama şimdi, basit bir tanesini bir araya getirmenin temellerini biliyorsunuz.