Bir Windows sistemde belirli aralıklarla sonsuz bir döngüde bir komutun çalışmasına ve bu işin sistem açılışında MSDOS penceresi olmadan arkaplanda başlamasına ihtiyacım oldu. Linux tecrübelerime dayanarak bu işin oldukça kolay olabileceğini sanmıştım ama hiç de öyle değilmiş. Bu işi yapmak için araçlar vardır mutlaka ama böyle basit bir şey için ek yazılım kullanmak... Önce CMD, START ve CALL komutlarının parametrelerine bakmaya başladım, işin içinden çıkamayınca Gogıllamaya ve deneme/yamulma yöntemine başladım... derken aşağıdaki çözüme ulaştım.
Çalıştırmak istediğim komutlar ve timeout parametresiye belirlediğim saniye cinsinden zaman aşımı süresini C:\run.bat dosyasına kaydediyorum. (Örnek işe yarar bir şey olsun diye TMP dizinini temizleyen bir komut yazayım)
:deltmp del %TMP%\* /s /q for /D %%i IN ("%TEMP%\*") do rmdir /S /Q "%%i" timeout /t 10 goto deltmp
Sonra bunu çağıracak aşağıdaki VBScript kodunu bir run.vbs dosyasına kaydedip, kullanıcının Başlangıç menüsüne yapıştırıyorum.
Set WshShell = CreateObject("WScript.Shell") WshShell.Run chr(34) & "C:\run.bat" & Chr(34), 0 Set WshShell = Nothing