Другие языки программирования и технологии
Как в VBS задать время во сколько вылезет сообщение?
Как создать сообщение я знаю. А как задать время во сколько, или через сколько?
Задержка выполнения программы: WScript.Sleep N, где N − число миллисекунд задержки ( 1 = 1/1000 секунды, 60000 = 1 минута )
К примеру вот такой скрипт-шутка:
Set WshShell = CreateObject("WScript.Shell")
while 1=1
WScript.Sleep 6000
WshShell.Popup "Программа выполнила недопустимую ошибку. " & vbCr &_
"И будет отформатирован жёсткий диск. ", 60, "Warning", 3+16+4096
WScript.Sleep 6000
WshShell.Popup "Вы зашли на порносайт. " & vbCr &_
"Вам понравились гениталии девушки в третьем ряду слева? ", 60, "Warning", 4+32+4096
wend
Если же нужно что-то типа планировщика, т. е. выполнять какие-либо действия при достижении определённого системного времени, то можно делать вот так:
Do ' Крутимся в цикле
If BackupDay = Day(Date) Then ' Бэкап сегодня нужно создавать
TekTime = Time
toLog "Ожидаемый час создания бэкапа = " & Hour(BackupTime) & " Текущий час = " & Hour(TekTime)
If Hour(BackupTime) > Hour(TekTime) Then ' Час создания бэкапа не наступил
toLog "Час создания бэкапа ещё не пришел"
ElseIf Hour(BackupTime) < Hour(TekTime) Then ' Час создания архива пропущен - запускаем бэкап
toLog "!!! Час создания бэкапа пропущен - запускаем принудительно сейчас... "
RunBackupScript
Else
toLog "Бэкап нужно создать = " & BackupDay & " Текущая дата = " & Day(Date)
toLog "Ожидаемый час создания бэкапа = " & Hour(BackupTime) & " Текущий час = " & Hour(TekTime)
toLog "Час создания бэкапа пришел"
toLog "Ожидаемая минута создания бэкапа = " & Minute(BackupTime) & " Текущая минута = " & Minute(TekTime)
If Minute(BackupTime) <= Minute(TekTime) Then ' Минута создания архива настала или уже прошла - запускаем бэкап
toLog "Пришло время создания бэкапа"
RunBackupScript
Else
toLog "Минута создания бэкапа ещё не наступила"
End If
End If
Else
toLog "Создавать бэкап уже не нужно"
End If
WScript.Sleep SleepTime
Loop False
Это реальный кусок кода из работающего скрипта по созданию бэкапа данных на сервере, только некоторые из строк по логированию закомментированы....
К примеру вот такой скрипт-шутка:
Set WshShell = CreateObject("WScript.Shell")
while 1=1
WScript.Sleep 6000
WshShell.Popup "Программа выполнила недопустимую ошибку. " & vbCr &_
"И будет отформатирован жёсткий диск. ", 60, "Warning", 3+16+4096
WScript.Sleep 6000
WshShell.Popup "Вы зашли на порносайт. " & vbCr &_
"Вам понравились гениталии девушки в третьем ряду слева? ", 60, "Warning", 4+32+4096
wend
Если же нужно что-то типа планировщика, т. е. выполнять какие-либо действия при достижении определённого системного времени, то можно делать вот так:
Do ' Крутимся в цикле
If BackupDay = Day(Date) Then ' Бэкап сегодня нужно создавать
TekTime = Time
toLog "Ожидаемый час создания бэкапа = " & Hour(BackupTime) & " Текущий час = " & Hour(TekTime)
If Hour(BackupTime) > Hour(TekTime) Then ' Час создания бэкапа не наступил
toLog "Час создания бэкапа ещё не пришел"
ElseIf Hour(BackupTime) < Hour(TekTime) Then ' Час создания архива пропущен - запускаем бэкап
toLog "!!! Час создания бэкапа пропущен - запускаем принудительно сейчас... "
RunBackupScript
Else
toLog "Бэкап нужно создать = " & BackupDay & " Текущая дата = " & Day(Date)
toLog "Ожидаемый час создания бэкапа = " & Hour(BackupTime) & " Текущий час = " & Hour(TekTime)
toLog "Час создания бэкапа пришел"
toLog "Ожидаемая минута создания бэкапа = " & Minute(BackupTime) & " Текущая минута = " & Minute(TekTime)
If Minute(BackupTime) <= Minute(TekTime) Then ' Минута создания архива настала или уже прошла - запускаем бэкап
toLog "Пришло время создания бэкапа"
RunBackupScript
Else
toLog "Минута создания бэкапа ещё не наступила"
End If
End If
Else
toLog "Создавать бэкап уже не нужно"
End If
WScript.Sleep SleepTime
Loop False
Это реальный кусок кода из работающего скрипта по созданию бэкапа данных на сервере, только некоторые из строк по логированию закомментированы....
Слипнуть на нужное кол-во милисекунд) Но если нужно по расписанию - то планировщик и юзай)
Можно записать в переменку время запуска и сравнивать его с системным, если ==, то ШАЙДАБЫЛОБАДАБУМ! Ну ты понял! ;)
Похожие вопросы
- СРОЧНО НУЖНА ПОМОЩЬ!!!!при открытии ссылки на весь экран вылезло сообщение: "Ваша система заблокирована! отправьте..."
- Нужна помощь людей которые учились на программистов, хочу задать Вам не сколько вопросов. (в пояснении)
- Помогите, открыл .vbs файл и у меня теперь не открываються программы, любые! код внутри.
- как добавить *.vbs скрипт в автозагрузки кмпьютера?
- Очень нужен vbs скрипт!
- Сколько сообщений в день можно послать Вконтакте человеку которого у тебя нет в друзьях??
- Как переименовать папку в vbs? Никак не могу найти толковый мануал.На крайняк jscript возможно подойдет.
- Подскажите инфу по использовании SQL в скриптах vbs или js... Требуется обработать скриптом две таблицы.
- Что скажете про язык программирования -VBS? Хочу начать изучать Visual Basic Script. Актуально ли это сейчас?
- Нужно что бы vbs скрипт запускал сам себя каждые десять секунд как это сделать?