Auto IT Script - Dateilistener

  • Hallo zusammen,

    ich bin auf der Suche nach folgendem Script. Das AutoIT Programm wird gestartet läuft dann bis es manuell beendet wird im Hintergrund und prüft in regelmäßigen Abständen (alle 2 Minuten) ob in einem bestimmten Verzeichniss Dateien vorhanden sind. Wenn das der Fall ist sollen diese Dateien in einen anderen Ordner verschoben werden.

    Das kopieren stellt keine Hürde da nur das regelmäßige prüfen ob ein Inhalt vorhanden ist....

    Hat sich daran schon mal jemand versucht?

    Gruß,

    TKH

  • Nicht mehr wichtig
    [autoit]


    While 1
    If FileExists("C:\Path\") = 1 Then
    ;Copybefehl
    EndIf
    Sleep(120000) ; 2 Minuten
    WEnd

    [/autoit]

    Einfach, oder?
    (Also falls ich deine Frage richtig verstanden habe ;) )

    Edit:
    Hier ein besserer, vollständigerer Code:

    [autoit]


    $Path = "C:\Path\"
    $NewPath = "C:\NewPath\"

    [/autoit][autoit][/autoit][autoit]

    While 1
    If FileExists($Path) = 1 Then
    FileFindFirstFile($Path & "*.*")
    If @error <> 1 Then
    FileMove($Path & "*", $NewPath, 9) ; Achtung! Bestehende Dateien werden in diesem Beispiel überschrieben!
    SetError(0)
    EndIf
    EndIf
    Sleep(120000) ; 2 Minuten
    WEnd

    [/autoit]

    Da es hier doch einige falsch machen:

    Zitat von einem User dieses Forums

    Die Standard-Standart eines Flamingos ist einbeinig. ;)

    Einmal editiert, zuletzt von Joriktos (8. Februar 2013 um 15:01)

  • Zum Beispiel so:

    [autoit]

    Local $iIntervall = 180, $sDirSource = @UserProfileDir & "\Test\", $sDirDest = "F:\Output\Test\"

    [/autoit][autoit][/autoit][autoit]

    While True
    Sleep($iIntervall * 1000)
    FileCopy($sDirSource & "*.*", $sDirDest)
    WEnd

    [/autoit]

    LG
    Christoph :)

  • oder so

    [autoit]


    #include <Misc.au3>

    [/autoit][autoit][/autoit][autoit]

    ;~ Opt('WinTitleMatchMode', 4) ;Je nach verwendung Sollte vorhanden sein (So wie das Script jetz ist, nicht von Nöten
    Global $Time = 120, $sDir = 'Programme', $sPutDir = @DesktopDir & '\Test', $dll = DllOpen("user32.dll")
    ;$sDir: Das Fenster welches gefuden werden soll
    ;$sPutDir: Den Pfad wo alles hin soll
    ;$Time: Wann geprüft werden soll

    [/autoit][autoit][/autoit][autoit]

    AdlibRegister('_Sercher', $Time * 10) ;Siehe in der Hilfe für mehr Infos bezüglich AdLibRegister
    While True
    If _IsPressed('7B', $dll) Then ;Wenn F12 gedrückt wird
    Exit ;oder ExitLoop | Beendet das Programm
    EndIf
    WEnd
    Func _Sercher()
    ;~ TrayTip('Sercher', 'Programm wurde Aktiviert', 1) ;Wenn man ne kleine Mitteilung möchte
    If WinExists($sDir, 'Adresse: F:\' & $sDir) Then ; Wenn das Fenster mit <Titel: $sDir> & <Text: Adresse: F:\ & $sDir> Existiert, mache
    MsgBox(0, '', $sDir & ' Wurde Geöffnet') ;Mit deinem FileMove oder FileCopy Ersetzen
    EndIf
    EndFunc ;==>_Sercher
    ;Alle Informationen zu Titel und Text findest du mit Hilfe von AutoIt Windows Info (Zufinden (Win 7): Start -> Alle Programme -> AutoIt v3 -> AutoIt Window Info)

    [/autoit]


    Hab das jetz mal auf ein Fenster Gespiegelt, einfach bissl abändern damits für Dateien an einem bestimmten ort stimmt

    (Ich mag solche Spielerreien 8)

    Einmal editiert, zuletzt von Skilkor (8. Februar 2013 um 15:53)