Toplu Dosya Duraklatma ve Bekleme Komutları: Komut Dosyalarınızın Akışını Nasıl Kontrol Edebilirsiniz?

Toplu Dosya Duraklatma Ve Bekleme Komutlari Komut Dosyalarinizin Akisini Nasil Kontrol Edebilirsiniz



Windows'ta toplu komut dosyası oluşturmada geliştiriciler, duraklamalar veya beklemeler sağlamak için çeşitli teknikler veya yöntemler kullanarak komut dosyalarınızın akışını kontrol edebilir. 'Duraklat' ve 'bekle' komutları, toplu iş dosyalarınızın akışını kontrol etmenin iki yoludur. 'Duraklat' komutu, 'Devam etmek için herhangi bir tuşa basın...' mesajını sunarken bir toplu iş dosyasının yürütülmesini durdurur. Kullanıcı bir tuşa basana kadar toplu iş dosyası çalıştırılamaz. Toplu iş dosyasının yürütülmesi, bekleme talimatıyla belirtilen saniye sayısı boyunca askıya alınır.

Toplu Dosya Duraklatma Komutu

Bir toplu iş dosyasının 'duraklat' komutu, mesajı komut satırında görüntülerken toplu iş dosyasının yürütülmesini durdurur. Toplu iş dosyası, kullanıcı bir tuşa basana kadar çalışmaz. Bir sonraki yürütmeyi durduran komut faydalıdır. Toplu iş dosyasını doğrudan çalıştırmak ve istenen çıktının ekranda görünmesini görmek faydalıdır.







“Duraklat” komutunun sözdizimi şöyledir:



Duraklat

Kullanıcıdan Giriş İstemi

Aşağıdaki toplu komut dosyasındaki 'duraklat' komutu, kullanıcı bu toplu iş dosyasını çalıştırdığında 'Devam etmek için herhangi bir tuşa basın...' mesajını gösterir. Toplu iş dosyası “dir” komutuna geçmeden önce kullanıcının bir tuşa basması gerekir.



@Eko kapalı

rem Bu toplu iş dosyası, kullanıcının bir tuşa basması için duraklatılır.

echo Merhaba, PAUSE komut gösterimine hoş geldiniz.

echo Komut dosyasının yürütülmesi duraklamadan sonra devam eder.

Duraklat

rem Bu toplu iş dosyası bir sonraki komutla devam eder.

yankı Teşekkür ederim!

Sen





Kullanıcı klavyeyi kullanarak herhangi bir tuşa bastığında bu toplu işlem devam eder:



Toplu Dosya Bekleme Komutu

Sağladığınız kod iki programı açan bir toplu iş dosyasıdır: Notepad ve Paint. Kod aşağıdaki gibidir:

@Eko kapalı

echo İlk Programı Başlatıyoruz.

BAŞLAT /B /WAIT notepad.exe

echo Not Defteri Arka Planda Başarıyla Açıldı

echo İkinci Programın Başlatılması.

BAŞLAT /BEKLE mspaint.exe

echo Paint başarıyla açıldı.

cmd /k

İlk satır olan '@echo off', toplu iş dosyasının komutları yürütülürken görüntülemesini engeller.

Kullanıcıya ilk programın başlatıldığı ikinci satır olan “echo İlk Programı Başlatma” ile bildirilir.

Üçüncü satır olan “START /B /WAIT notepad.exe”, Notepad programını arka plan penceresinde açar ve devam etmeden önce bitmesini bekler. “/B” anahtarı, START komutuna programı bir arka plan penceresinde çalıştırmasını söyler ve “/WAIT” anahtarı, START komutuna devam etmeden önce programın bitmesini beklemesini söyler.

Dördüncü satır yankı Not Defteri'ni okur. Notepad arka planda başarıyla açıldığında kullanıcıya yalnızca mesajla bilgi verir.

Beşinci satır, 'echo İkinci Programın Başlatılması', kullanıcıya ikinci programın başlatıldığına dair bir mesaj görüntüler.

Altıncı satır olan 'START /WAIT mspaint.exe', Paint programını bir arka plan penceresinde açar ve devam etmeden önce bitmesini beklemez.

Yedinci satır olan 'echo Paint başarıyla açıldı', kullanıcıya Paint'in başarıyla açıldığını belirten bir mesaj gösterir.

Sekizinci satır olan “cmd /k”, yeni bir komut istemi penceresi açar ve mevcut komut istemi penceresini açık tutar.

Özel Gecikmeler için Döngü Kullanma

Toplu işlemdeki özel gecikmeler için bir döngü kullanabiliriz. İşte bir örnek:

Bu örnekte, bu toplu iş dosyası çalıştırıldığında kullanıcıya ilk mesaj gösterilir. Daha sonra “for” döngüsü başladığında ilk mesaj bir kez daha görüntülenir. Zaman aşımı komutu, ikinci mesajı görüntülemeden önce toplu iş dosyasını bir saniye süreyle durdurur. Son mesaj toplam 10 yinelemeden sonra gösterilir.

@Eko kapalı

echo Döngü Kullanarak Gecikmenin Gösterimi

(1,1,10)'daki /l  %%i için şunu yapın (

zaman aşımı /t 1 /nobreak > null

echo Bu mesaj %%i saniye sonra görüntüleniyor

)

echo Bu mesaj 10 saniyelik bir gecikme gösteriyordu.

Gecikme için Zaman Aşımını Kullanma

Bir toplu iş dosyasının zaman aşımı komutu, toplu iş dosyasının yürütülmesini önceden belirlenen sayıda saniye boyunca duraklatır. Sözdizimi burada verilmiştir:

zaman aşımı /t [/nobreak]

“/t” anahtarı beklenecek süreyi saniye cinsinden belirtir. “/nobreak” anahtarı kullanıcının gecikmeyi kırmak için tuşa basmasını devre dışı bırakır.

“Zaman aşımı” komutu şu amaçlarla kullanılabilir:

  • Bir toplu iş dosyasının yürütülmesini önceden belirlenmiş bir süre için erteleyin
  • Bir toplu iş dosyası eyleminin kullanıcı tarafından kesintiye uğratılmasını önleme
  • Kullanıcının devam etmek için bir tuşa basmak zorunda kalmasını önleyerek daha kullanıcı dostu bir deneyim yaratın

Örneğin, aşağıdaki toplu iş dosyası 10 saniye süreyle duraklatılır:

@Eko kapalı

echo Merhaba, Komut dosyası yürütmesi 10 saniyelik gecikmenin ardından devam ediyor

zaman aşımı /t 10

yankı Teşekkür ederim!

Aşağıdaki ekran görüntüsünde gösterildiği gibi, bir zamanlayıcı çalışıyor ve kullanıcının herhangi bir tuşa basarak 'zaman aşımı' komutunu kesmesini bekliyor. Kullanıcı herhangi bir tuşa basarsa işlem durur ve toplu iş dosyasındaki bir sonraki komuta geçer:

Aşağıdaki ekran görüntüsündeki kullanıcı, 5 saniye sonra 'zaman aşımı' komutunu keserek 'Teşekkür ederim!' İleti:

Aşağıdaki ekran görüntüsü “Teşekkür ederim!” Son kullanıcı zaman aşımı talimatını kesintiye uğratmazsa mesajın ekrana yazdırılması 10 saniye sürer:

Son kullanıcının bir toplu iş dosyası sürecini kesintiye uğratmasını durduran kesintisiz anahtarı içerecek şekilde değiştirilmiş güncellenmiş kod aşağıda verilmiştir:

@Eko kapalı

rem Bu toplu iş dosyası 10 saniye boyunca duraklatılır

echo Merhaba, Komut dosyası yürütmesi 10 saniyelik gecikmenin ardından devam ediyor

zaman aşımı /t 10 /nobreak

rem 10 saniye sonra bu komut istem ekranında görüntülenecektir

yankı Teşekkür ederim!

İşte önceki kodun çıktısı:

Kullanıcı “CTRL+C” komutunu kullanıyorsa komut satırı kullanıcıdan Y veya N yazmasını ister. Kullanıcı Y'ye tıklarsa bu toplu iş durdurulur:

'Duraklat', 'bekle' ve 'zaman aşımı' komutları, komut dosyalarımızın akışını kontrol etmenin yollarıdır. “Pause” komutu kullanıldığında betiğin çalışması askıya alınır ve “timeout” komutu kullanıldığında önceden belirlenen bir süre boyunca durdurulur.

Akış Kontrolü için Koşullu İfadeleri Kullanma

Koşullu ifadeler, belirli bir duruma göre bir betiğin akışını değiştirmek için kullanılan en yaygın tekniktir. Bir koşulun doğru veya yanlış olmasına bağlı olarak 'if' ifadesi iki kod yürütme işleminden birini gerçekleştirir. “If” ifadesi şu şekilde yapılandırılmıştır:

if else

Örnek:

Not Defteri'ni veya istediğiniz herhangi bir metin düzenleyiciyi açın ve üçüncü satıra inputValue değişkeninin değerini 1 olarak başlatan aşağıdaki kodu yazın. Daha sonra inputValue değişkeninin değeri, 1, 2 veya 3'e eşit olup olmadığını görmek için çalışma zamanında bir 'if' ifadesi kullanılarak kontrol edilir. Eğer öyleyse, komut satırı ekranında uygun mesaj yazdırılır. Değilse son mesaj görüntülenir. 'İf' olarak bilinen koşullu bir ifadede, bir değişkenin inputValue değeri kontrol edilerek 1, 2 veya 3'e eşit olup olmadığı kontrol edilir. Eğer öyleyse, iki kod bloğundan biri yürütülür. Koşul doğruysa koşullu ifade hiçbir şey yapmaz.

@Eko kapalı

rem Bu komut dosyası inputValue değişkenini 1, 2 ve 3 değerlerine göre test eder.

girişDeğeri=1 olarak ayarla

if '%inputValue%'=='1' (

echo Giriş değeri 1'e eşittir.

) else if '%inputValue%'=='2' (

echo Giriş değeri 2'ye eşittir.

) else if '%inputValue%'=='3' (

echo Giriş değeri 3'e eşittir.

) başka (

echo inputValue değişkeni 1, 2 veya 3'e eşit değildir.

)

Çıktı:

Çözüm

Komut dosyası akışı kontrol edilebilir ve Windows işletim sisteminde komutlar, döngüler ve 'if' gibi koşullu ifadeler kullanılarak işlemler otomatikleştirilebilir. Geliştiriciler, 'zaman aşımı' veya 'ping'i kullanarak 'duraklatma' komutuyla bir komut dosyasının yürütülmesini durdurabilir veya gecikmeler ekleyebilir. Toplu komut dosyası oluşturmada yerleşik bir “switch” ifadesi olmamasına rağmen, bunu “if” ve “else if” ifadeleriyle simüle edebiliriz. Bu komut dosyalarının uygun bağlamda amaçlandığı gibi çalıştığından emin olmak için test yapmak çok önemlidir. Bu komut dosyaları otomasyon, sistem yönetimi ve dosya manipülasyonu için kullanışlıdır.