صورت مسئله:
برنامه ای داریم که می خواهیم به صورت خودکار پس از روشن شدن سیستم اجرا شود.
برای این منظور از Scheduled Tasks استفاده می کنیم. ولی به دلایلی این برنامه نباید همان لحظه اجرا شود، بلکه می بایست با چند دقیقه تاخیر اجرا شود.
راه حل:
برای اجرای خودکار با استفاده از Schedule Tasks به همراه تاخیر زمانی، می توان از یک Batch File استفاده کرد و دستور اجرای برنامه را در Batch File ارسال کرد.
برای به وجود آوردن وقفه در Batch File نیز می توان از ارسال Ping استفاده کرد.
مثلا:
ping -n 10 127.0.0.1
این دستور، ده بسته را به آدرس Loopback ارسال می کند و از آنجایی که هر بسته در 1 ثانیه ارسال می شود، اجرای آن 10 ثانیه به طول می انجامد.
پس برای ایجاد 3 دقیقه وقفه می توان دستور زیر را قبل از اجرا نوشت:
ping -n 180 127.0.0.1
و در یک Batch File می توان آن را به صورت زیر قرار داد:
@echo off
ping -n 10 127.0.0.1 > NUL
myprogram.exe
اگر Batch File بالا اجرا شود، پس از 3 دقیقه برنامه myprogram.exe را اجرا خواهد کرد.
با این کار می توان با وقفه مورد نظر، برنامه ها را با استفاده از Scheduled Tasks به صورت خودکار اجرا کرد.
(@ Mr. Zeynalnia !)
تکمیل:
این هم یک Script که همین کار را می تواند انجام دهد:کد:SecondsToDelay = "5" ProgramToRun = "iexplore" 'may need full path Wscript.Sleep(SecondsToDelay * 1000) Prog = Chr(34) & ProgramToRun & Chr(34) CreateObject("WScript.Shell").Run(Prog) SecondsToDelay = "10" ProgramToRun = "winword" 'may need full path Wscript.Sleep(SecondsToDelay * 1000) Prog = Chr(34) & ProgramToRun & Chr(34) CreateObject("WScript.Shell").Run(Prog)