¿Hay algún programa que compruebe constantemente un determinado tamaño de archivo en el disco duro, como cada 5 minutos o algo?
Si el tamaño del archivo deja de aumentar, ejecutaría alguna acción X (X establecida por el usuario, como por ejemplo, iniciar una aplicación o reproducir un sonido).
OS - Inicio de Windows 7
El siguiente código no funciona. No está recogiendo el tamaño del archivo correctamente. Cuando hago clic derecho en el archivo y verifico su tamaño, se actualiza constantemente. Sin embargo, la secuencia de comandos de AutoIt no parece estar tomando el tamaño correcto cada 2 minutos. Cuando aumente el intervalo de tiempo a 5 minutos, solo entonces recupera el tamaño actualizado ALGUNAS VECES.
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