¿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
Respuestas:
Aquí hay un sencillo script de AutoIt que recorrerá un ciclo cada 3 minutos y revisará un archivo específico en busca de cambios en el tamaño del archivo. Si no hay cambios en esos 3 minutos, aparecerá un cuadro de mensaje. Lo comenté para que puedas ver lo que hace cada línea. Debería ser fácil de modificar para sus necesidades junto con el archivo de ayuda bien documentado de Autoit y el foro de ayuda activo.
Otras funciones que te pueden interesar: ShellExecute () Correr() Reproducción de sonido () TimerInit () TimerDiff () El archivo existe()
fuente
No que yo sepa, pero, ¡acabo de crear algo que puede hacer esto por ti!
FileWatchAndDoSomething:
Usted lo inicia, elige el archivo que desea ver, selecciona el temporizador, selecciona la condición que desea buscar y, finalmente, el archivo que se inicia cuando se cumple la condición.
Tenga en cuenta que esto es algo que acabo de escribir en unos minutos, lo he probado, pero no tengo garantías ...
Enlace de descarga
fuente
1
, luego cree un archivo de texto en su escritorio con texto basura en él, elija ese archivo con c: \ windows \ system32 \ calc.exe como archivo de inicio ... luego haga clic en iniciar (una vez) ... e intente cambiar el texto ¿expediente? ... Si no puedes hacer que eso funcione, veré si hay algo que pueda hacer rápido, pero no puedo ver el error aquí :(