powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Слежка за изменением размеров логов
9 сообщений из 9, страница 1 из 1
Слежка за изменением размеров логов
    #34065042
Алексей21
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Помогите решить задачу скриптом vbs:
Есть папка, куда определенная программка пишет свои логи. В этой же папке кроме логов храняться их старые копии, которые со временем не изменяются - расширение у них, скажем, *.bak.
Необходимо через некоторое время (каждую минуту) следить изменились ли файлы с расширением *.log по размеру. Файлов *.log немного - не более 5.
Если хоть один из *.log не изменился - запускать скрипт (например, "no_changes!.cmd").
...
Рейтинг: 0 / 0
Слежка за изменением размеров логов
    #34065473
Фотография orunbek
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Например через планировщик задач посредством WMI
1. Скрип проверяет размеры файла затем, при изменении или не измененни размера выполняет соответствующие задачи
2. Проверят список планировщика задач, если там находит себя, удаляет
3. Добавляет к текущему системному времени 1 минуту, и добавляет в список запланированных задач себя
В сети множество примеров работы с планировщиком задач через WMI в vbs-скриптах, поищи в google: "WMI task scheduling"
...
Рейтинг: 0 / 0
Слежка за изменением размеров логов
    #34066526
Алексей21
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
спасибо! посмотрю.

а есть другие способы решения??
я думал это решить через цикл:
Код: plaintext
1.
2.
3.
Do
   If ....
    Wscript.Sleep  10000 
 Loop
...
Рейтинг: 0 / 0
Слежка за изменением размеров логов
    #34066567
Фотография orunbek
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ну да так тоже можно, но так ваш скрипт будет отнимать процессорное время
...
Рейтинг: 0 / 0
Слежка за изменением размеров логов
    #34066641
Алексей21
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
это не критично.

Как должно выглядеть самое условие (If...) - т.е. выборка из папки файлов *.log и проверка их размера?
...
Рейтинг: 0 / 0
Слежка за изменением размеров логов
    #34066734
Фотография orunbek
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
через FileSystemObject, например:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
Dim objFSO,objLogFolder,objLogFile
Set objFSO=CreateObject("Scripting.FileSystemObject")
Set objLogFolder=objFSO.GetFolder("C:\logs")
For Each objLogFile In objLogFolder.Files
     If LCase(objFSO.GetExtensionName(objLogFile.Name))="log" Then
            WScript.Echo objLogFile.Size
     End If
Next
Set objLogFile=Nothing
Set objLogFolder=Nothing
Set objFSO=Nothing
...
Рейтинг: 0 / 0
Слежка за изменением размеров логов
    #34067941
Алексей21
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
замечательно!
если еще подскажешь как прикрутить сравнение размера каждого log файла через цикл, который я написал выше - будет совсем хорошо ;)
...
Рейтинг: 0 / 0
Слежка за изменением размеров логов
    #34068495
Фотография orunbek
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
как условие поставить????
if then else
...
Рейтинг: 0 / 0
Слежка за изменением размеров логов
    #34071266
Алексей21
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
вот так скрипт работает только с одним файлом log - выдает его размер каждые 5 секунд:

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
Dim objFSO,objLogFolder,objLogFile
Set objFSO=CreateObject("Scripting.FileSystemObject")
Set objLogFolder=objFSO.GetFolder("D:\Logs")
For Each objLogFile In objLogFolder.Files
If LCase(objFSO.GetExtensionName(objLogFile.Name))="log" Then
  Do
           WScript.Echo objLogFile.Size
           Wscript.Sleep  5000 
  Loop
      End If
Next
Set objLogFile=Nothing
Set objLogFolder=Nothing
Set objFSO=Nothing

1) нужно чтоб он работал со всеми *.log в папке поочередно
2) нужна проверка размера файла "сейчас" с его же размером "5 секунд назад"
...
Рейтинг: 0 / 0
9 сообщений из 9, страница 1 из 1
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Слежка за изменением размеров логов
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]