Gibt es ein Programm, das ständig eine bestimmte Dateigröße auf der Festplatte überprüft, etwa alle 5 Minuten oder so?
Wenn die Dateigröße nicht mehr zunimmt, würde ich eine Aktion X ausführen (X vom Benutzer festgelegt - z. B. eine Anwendung starten oder einen Sound abspielen).
Betriebssystem - Windows 7 Home
Der folgende Code funktioniert nicht. Die Dateigröße wird nicht richtig erfasst. Wenn ich mit der rechten Maustaste auf die Datei klicke und ihre Größe überprüfe, wird sie ständig aktualisiert. Das AutoIt-Skript scheint jedoch nicht alle 2 Minuten die richtige Größe zu erfassen. Wenn ich das Zeitintervall auf 5 Minuten erhöhe, nimmt es nur dann die aktualisierte Größe EINMAL auf.
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
Antworten:
Hier ist ein einfaches AutoIt-Skript, das alle 3 Minuten einen Zyklus durchführt und eine angegebene Datei auf Änderungen in der Dateigröße überprüft. Wenn sich in diesen 3 Minuten nichts geändert hat, wird ein Meldungsfeld eingeblendet. Ich habe es kommentiert, damit Sie sehen können, was jede Zeile tut. Mit der gut dokumentierten Hilfedatei und dem aktiven Hilfeforum von AutoIt sollte es sich leicht an Ihre Bedürfnisse anpassen lassen.
Andere Funktionen, an denen Sie interessiert sein könnten: ShellExecute () Run () SoundPlay () TimerInit () TimerDiff () FileExists ()
quelle
Nicht, dass ich wüsste, aber ich habe gerade etwas geschaffen, das dies für Sie tun kann!
FileWatchAndDoSomething:
Sie starten es, wählen die zu überwachende Datei aus, wählen den Timer aus, wählen die zu überwachende Bedingung aus und schließlich die zu startende Datei, wenn die Bedingung erfüllt ist.
Bitte beachten Sie, dass dies etwas ist, was ich gerade in ein paar Minuten geschrieben habe, ich habe es getestet, aber keine Garantie ...
Download-Link
quelle
1
aktivieren und anschließend eine Textdatei auf Ihrem Desktop erstellen, in der sich Mülltext befindet? Wählen Sie diese Datei mit dem Namen c: \ windows \ system32 \ calc.exe als Startdatei aus. Klicken Sie dann (einmal) auf Start. Und versuchen Sie, die Textdatei zu ändern? ... Wenn Sie das nicht zum Laufen bringen können, werde ich sehen, ob es etwas gibt, das ich schnell tun kann, aber ich kann den Fehler hier nicht sehen :(