Olası Kopya:
Bir toplu iş dosyasında nasıl uyulur?
İşte bir toplu iş dosyasında bir saniyeliğine duraklamanın haxxorish bir yolu:
PING 400.500.600.700 > NUL
Google'ı aradım ama daha iyisi olduğundan emin değilim .. herhangi bir fikir? :)
Gecikme oluşturmak için yerleşik seçim komutunun "varsayılan seçim" ve "zaman aşımı" seçeneklerini kullanabilirsiniz.
@echo off
echo Hi, I'm doing some stuff
echo OK, now I need to take a breather for 5 seconds...
choice /d y /t 5 > nul
echo Times up! Here I go again...
Bunu yapmanın doğru yolu, Windows 2000'de tanıtılan timeout
komutunu kullanmaktır.
30 saniye beklemek için:
timeout /t 30
Kullanıcı herhangi bir tuşa basarsa zaman aşımı kesintiye uğrar; ancak komut ayrıca, açık bir /nobreak
dışında kullanıcının basabileceği her şeyi etkili bir şekilde yok sayan isteğe bağlı anahtarı CTRL-C
kabul eder:
timeout /t 30 /nobreak
Ayrıca, komutun geri sayımını ekranda yazdırmasını istemiyorsanız, çıktısını NUL
öğesine yönlendirebilirsiniz:
timeout /t 30 /nobreak > NUL
@echo off
echo It is time for liftoff.
timeout /t 5
echo Commencing crash sequence.
timeout /t 5
Bir anahtar vurmak geri sayım binmek tek dezavantajı.
sleep.exe yerine kullanıyorum.
@ping -n 1 -w 1000 0.0.0.1 > NUL
Değişiklik -n x
beklemek (kabaca) x
saniye.
Görünüşe göre Windows kaynak kitinde uyku komutu var. Diğer Siteler ayrıca seçim kullanmanızı öneririz .....
Üzerinde bir zamanlayıcı bulunan CHOICE komutu iyi çalışıyor ...
SEÇİM/C: x/T: x, 10> NUL
Orada da "programları" orada WAIT ve UYKU, vb gibi çalıştırabilirsiniz.
Bu yardımcı olur umarım.
Ping (yukarıda) iyi olanıdır - ancak bir ağa bağlıysa çalışır.
Geciktirecek biraz komut dosyası aşağıdadır:
@Eko kapalı
set/a saniye sonu =% TIME: ~ 6,2% + 10
% secondsend% GTR 59 ayarlanmışsa/saniye sonu = saniye sonu-60
:burada bekle
% TIME ise: ~% 6,2 NEQ% saniye sonu% goto waithere
Bu, 9-10 saniye arasında duraklar (TIME komutunun kullanılması nedeniyle ilk saniye doğru değildir - ve başlamadan önce bir saniyenin yarısında olabilir).
PC saatinin geçerli saniyesine 'saniye sonu' ayarlayarak çalışırsa, buna 10 ekler (gecikme). Eğer 59 dakikadan büyükse 60 dakika kadar ilerliyorsa, bir sonraki dakikaya sarılır. Sonra mevcut saniyeyi 'saniye sonu' ile kontrol eden bir döngü vardır - senaryo ile eşleştikten sonra devam eder.
Farklı bir süre 2-59 geciktirmek istiyorsanız, ikinci satırdaki 10'u değiştirin (ilk saniye tam saniye olmayabileceğinden 2-59 diyorum, bu yüzden 2 örneğin 1,2 saniye diyebiliriz).
Maalesef çok rüzgarlı ama rutinin nasıl çalıştığını açıklayacağımı düşündüm.