Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  | Правила  

Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » VBS/WSH/JS - [решено] Просмотр даты изменения файла и отправка сообщения

Ответить
Настройки темы
VBS/WSH/JS - [решено] Просмотр даты изменения файла и отправка сообщения

Пользователь


Сообщения: 121
Благодарности: 3

Профиль | Отправить PM | Цитировать


Доброго времени суток!

Просьба помочь с написанием скрипта который бы проверял дату последнего изменения файла. И в случае если это дата на 25 минут меньше нынешней отправлял сообщение о том что файл не изменялся в течении 25 минут. При этом дата файла динамическая, состоит по принципу KPK30032011.txt - где 30032011 это дата сегодняшнего дня.

Заранее искренно благодарен!

Отправлено: 18:24, 30-03-2011

 

Пользователь


Сообщения: 78
Благодарности: 23

Профиль | Отправить PM | Цитировать


Может подойдёт? Попробуй...
Код: Выделить весь код
strFolder="ПУТЬ_К_ПАПКЕ"
dtCutOff=DateAdd("n", -25, Now)

Set objFSO=CreateObject("Scripting.FileSystemObject")
Set objFolder=objFSO.GetFolder(strFolder)
WScript.Echo "Проверка модифицированных файлов ранее " & dtCutoff & Chr(10) &_
              "в папке " & strFolder & "."
Set colFiles=objFolder.Files
For Each file In colFiles
    If file.DateLastModified < dtCutoff Then WScript.Echo file.name 
Next

Отправлено: 22:29, 30-03-2011 | #2



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля.


Пользователь


Сообщения: 121
Благодарности: 3

Профиль | Отправить PM | Цитировать


Спасибо Но все гораздо проще нужно проверять один файл с динамическим названием (KPKddmmyyyy.txt - где ddmmyyyy это дата сегодняшнего дня). Принцип задачи в том что бы проверять нормально ли работает авто задача. В случае ее нормально работы последнее изменение файла будет изменятся каждые 15 минут. Если файлик не меняется уже 25 минут значит задача не работает вот в этот момент и вывести сообщение о том что у нас проблемы...

Отправлено: 10:29, 31-03-2011 | #3


Пользователь


Сообщения: 78
Благодарности: 23

Профиль | Отправить PM | Цитировать


Вот так ещё можно.
Код: Выделить весь код
myDateTime = Right("0" & Day(Date), 2) & Right("0" & Month(Date), 2) & Year(Date)
dtCutOff=DateAdd("n", -25, Now)

 File="KPK"&myDateTime&".txt"
 filespec="C:\СВОЙ\ПУТЬ\К\ПАПКЕ\"&file
set fso=createobject("scripting.filesystemobject") 
set f=fso.GetFile(filespec) 
    If f.DateLastModified < dtCutoff Then
 
' Вместо WScript.Echo делай свою задачу.

WScript.Echo "Файл " &f.name& " изменён раньше "&dtCutOff
End if 
set f=nothing 
set fso=nothing
Это сообщение посчитали полезным следующие участники:

Отправлено: 15:18, 31-03-2011 | #4


Пользователь


Сообщения: 121
Благодарности: 3

Профиль | Отправить PM | Цитировать


Спасибо то что надо Только как так сделать что бы если файл отсутствует он просто промолчал

Отправлено: 16:18, 31-03-2011 | #5


Ветеран


Contributor


Сообщения: 2706
Благодарности: 1684

Профиль | Отправить PM | Цитировать


Вот еще вариант. Скрипт с заданным дискретом опрашивает файл. Если файл устарел, выдаётся сообщение, однако через заданный дискрет опрос повторяется. Если файла нет, выдаётся сообщение, однако через заданный дискрет опрос повторяется Если это сообщение не нужно - закомментируйте. Пути, префикс файла (у Вас KPK), расширение, дискрет опроса, порог устаревания -укажите свои.
Код: Выделить весь код
Where = "H:\Delete\"        ' Где файлы
Pref = "Kuku"               ' Префикс файлов
Ext = ".txt"                ' Расширение файлов
DMin = 0.5                    ' Дискрет опроса Минут
OldMin = 25                 ' Порог устаревания файла (минут)

FName = Where + Pref + Mid(CStr(100 + Day(Date)), 2, 2) + Mid(CStr(100 + Month(Date)), 2, 2) + CStr(Year(Date)) + Ext

Set WS = CreateObject("WScript.Shell")
Set FSO = CreateObject("Scripting.FileSystemObject")
L = True


Do While L

    Cont = 0
    Older = DateAdd("n", -OldMin, Now)

    If FSO.FileExists(FName) Then
       DN = FSO.GetFile(FName).DateLastModified
       If DN < Older Then
            Cont = WS.Popup(FName, DMin * 60, "Файл старше " + CStr(OldMin) + " минут", 50)
'''''       Else
'''''            Cont = WS.Popup(FName, DMin * 60, "Файл изменялся " + CStr(DN), 50)
       End If
    Else
        Cont = WS.Popup(FName, DMin * 60, "Файл не найден.", 50)
    End If

    If Cont = 3 Then Exit Do

    If Not (Cont = 4 Or Cont = -1) Then
        WScript.Sleep (DMin * 60 * 1000)
    End If

Loop
При ответе на запрос:
"Повторить"= немедленно переопросить файл .
"Пропустить"=повторить опрос через заданный дискрет
"Прервать" = снять скрипт

Сообщение о том, что файл за разрешенный период изменялся, закомментировано (было нужно для отладки), при необходимости, можете восстановить, убрав ''''.

-------
Даже самая сложная проблема обязательно имеет простое, лёгкое для понимания, неправильное решение. Каждое решение плодит новые проблемы.


Последний раз редактировалось megaloman, 31-03-2011 в 18:42.

Это сообщение посчитали полезным следующие участники:

Отправлено: 17:33, 31-03-2011 | #6


Пользователь


Сообщения: 78
Благодарности: 23

Профиль | Отправить PM | Цитировать


Цитата SanyaJoker:
если файл отсутствует он просто промолчал »
Подправил.
Код: Выделить весь код
myDateTime = Right("0" & Day(Date), 2) & Right("0" & Month(Date), 2) & Year(Date)
dtCutOff=DateAdd("n", -25, Now)

 File="KPK"&myDateTime&".txt"
 filespec="C:\СВОЙ\ПУТЬ\К\ПАПКЕ\"&file

set fso=createobject("scripting.filesystemobject")

If not FSO.FileExists(filespec) Then
 msgbox "Файл "&filespec&" осутствует!"

 ' msgbox - убрать за ненадобностью

 WScript.Quit

 Else 
set f=fso.GetFile(filespec)
 If f.DateLastModified < dtCutoff Then
 
' Вместо WScript.Echo делай свою задачу.

WScript.Echo "Файл " &f.name& " изменён раньше "&dtCutOff
End if
End if 
set f=nothing 
set fso=nothing
Это сообщение посчитали полезным следующие участники:

Отправлено: 21:32, 31-03-2011 | #7


Пользователь


Сообщения: 121
Благодарности: 3

Профиль | Отправить PM | Цитировать


Огромное спасибо Очень помог!

Отправлено: 10:12, 01-04-2011 | #8



Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » VBS/WSH/JS - [решено] Просмотр даты изменения файла и отправка сообщения

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
Отправка сообщения п локальному адресу Expo37 AutoIt 0 11-07-2010 13:38
VBS/WSH/JS - [решено] Проверка даты изменения папки. ufunf Скриптовые языки администрирования Windows 2 28-01-2010 07:44
[решено] Запрет изменения даты laro4ka Microsoft Windows 95/98/Me (архив) 3 05-12-2008 14:27
Доступ - [решено] Запрет изменения даты laro4ka Microsoft Windows 2000/XP 1 04-12-2008 10:40
Отправка сообщения по сети Vampire Сетевые технологии 2 10-08-2004 16:41




 
Переход