Есть ли программа, которая постоянно проверяет определенный размер файла на жестком диске, как каждые 5 минут или что-то?
Если размер файла перестает увеличиваться, я запускаю какое-то действие X (X устанавливается пользователем - например, может запускать приложение или воспроизводить звук).
ОС - Windows 7 Home
Следующий код не работает. Не правильно подбирает размер файла. Когда я щелкаю правой кнопкой мыши по файлу и проверяю его размер, он постоянно обновляется. Однако скрипт AutoIt, похоже, не получает правильный размер каждые 2 минуты. Когда я увеличиваю временной интервал до 5 минут, только тогда он подбирает обновленный размер ИНОГДА.
Global $logging = True
$file = $CmdLine[1] & "\" & $CmdLine[2]
_log("Filename: " & $file)
$size = 0 ;set initial size to 0
Sleep(60000) ;sleep 1 minute
If FileExists($file) Then
While 1 ;loop indefinitely
$filesize = FileGetSize($file) ;get current size of file
_log("File Size: " & $filesize)
If $filesize = $size Then ;compare new size with old size
_log("Download Halted: " & $filesize) ;notify that file is complete
Run("AStart.bat", $CmdLine[1])
ExitLoop ;exit
EndIf
$size = $filesize ;save current file size
Sleep(120000) ;sleep 2 minutes
WEnd
Else
MsgBox(0, "File Not Found", "File Not Found! - " & $file)
EndIf
Func _log($message)
If $logging Then ; global variable where you can globally switch OFF/ON logging
FileWriteLine(@ScriptDir & "\file.log", @YEAR & "-" & @MON & "-" & @MDAY & "-" & @HOUR & ":" & @MIN & " --> " & $message)
EndIf
EndFunc