![]() |
Проверка изменений в папке и перезагрузка программы
Добрый день!
Помогите решить задачу. нужно проверять файл если время изменения равно или меньше 10 минут от системного нужно выполнить перезагрузку srv.exe и записывает в файл время перезагрузки, и этот batnik выполняется постоянно и спрятан в треи. |
Цитата:
|
Добры день!
Проверять надо с периодичность менее 10 мин (то есть 1-9минут) и в начеле после запуска batnika надо задержку ставить где-то 15 минут что бы не зациклился. Мое понимание работы batnika Старт задержка 15 минут Бесконечный цикл Узнаем время и дату изменения сравниваем с системными часами С начало сравнивает час если разница больше часа пропускаем действия и переходи сразу на задержку внутри цикла Сравниваем минуты если разница меньше 10 минут делаем рестарт srv.exe и записываем время рестарта в блокнот задержка (1-9) Скорей сего я неправ где-то буду на 99% уверен) Chcp 1251 :loop Set $SRC="C:\Users\Андрей\Desktop\macz.avi" файл для теста for /f %%x in (%$SRC%) do call :check "%%~ta" время изменения set $in=%~1 set $tc=%$in:~14,2% & set $tm=%time:~3,2% if %$tm% lss 10 set $tm=%time:~4,1% if %$tc% lss 10 set $tr=%$in:~15,1% set /x "$min= %$tm% - %$tr%" If %$min% LSS 0 set /a $ch=60-(%$ch%*(-1)) адекватно минуты определять if /i %$min% LEQ 10 taskkill /f /im srv.exe start /b srv.exe)) Goto :loop ( это пока с минутами (я пока разбираюсь с написанием bat ( как говорится справочник в зубы и читать)) |
Andreji,
расскажите детально что именно вы пытаетесь сделать, потому что проколов тут миллион: файла нет с файлом в это время работают процесс закрылся по другой причине задержка более или менее разницы сильная нагрузка на процессор при постоянной работе самого батника ... Я почему спросил с какой периодичностью Если файл есть, дата_время изменения точно поменяется в течении 10 мин, то запуская батник, с помощью планировщика, ровно раз в 10 мин, который будет убивать процесс независимо от дата_время изменения файла - подходит? Поэтому и надо знать что вы хотите сделать, пока нет четкой задачи. |
Суть проблемы бороться с нестабильностью ПО , Программа когда зависает она отваливается от базы данных, и в файле базы данных меняется время изменения проверено опытным путем.( при нормальной работе ПО в файле время не меняется)
|
10 мин выбраны тоже опытным путем или наобум? Произойти может и через час или 2 сек?
На errorlevel не пробовали проверять, выдает что-то при ошибке?, так проще будет фиксировать. |
Программа обычно зависает в первые 7-13 минут после запуска потом может зависнуть через час, но иногда и сутки работает без сбоев. errorlevel ??? нет не пробовал, и только узнал о существования такой функции.
|
Время: 22:20. |
Время: 22:20.
© OSzone.net 2001-