Skript löscht ständig Dateien

  • Ich bin am verzweifeln, irgendwo ist da der wurm drin und ich finde ihn nicht
    es geht darum, dass beim scannen die dateien meist nicht aufgeräumt werden und dann entsteht ein dateichaos im verzeichnis
    das skript sollte eigentlich jede nacht durchlaufen und löschen/verschieben

    doch zurzeit verschwinden ständig die dokumente aus dem verzeichnis und ich versteh einfach nicht warum

    Einmal editiert, zuletzt von achim89 (15. Dezember 2009 um 12:00)

  • 2 Möglichkeiten fallen mir auf die Schnelle ein:

    1. Deine "Abfragevariante" ist nicht korrekt (da du ja leider nur "Scans vom Vortag" geschrieben hast, kann ich da kaum etwas nachvollziehen).

    2. Deine Lösch/Verschieb-funktion ist nicht korrekt. (zB dass ein Ordner gelöscht wird. wenn er noch nicht leer ist, oder dass Dateien aufgrund von Vermutung 1 zu unrecht gelöscht werden.

  • naja alles was vorher im ordner war wird in "Scans vom Vortag" verschoben
    sprich, alte scans die jemand liegen gelassen hat werden max 1 tag aufbewahrt

    ich verstehe nicht wo der fehler leigt

  • Ich gehe jetzt mal davon aus, dass es ein Array ist.

    Datei_A.txt _______ Datei_A.txt
    Datei_B.txt _______ Datei_B.txt
    Datei_C.txt _______ Datei_C.txt

    Sobald sich da jetzt ein Element zwischenschiebt, stimmt die gesamte reihenfolge nicht mehr.
    Das führt dann Wahrscheinlcih zu fehlverhalten.

    Datei_A.txt _______ Datei_A.txt
    Datei_A2.txt _______ Datei_B.txt
    Datei_B.txt _______ Datei_C.txt
    Datei_C.txt

    [autoit]

    If $liste[$i] <> $alte_scans Then

    [/autoit]


    Solche Zeilen verstehe ich einfach nicht. Ist $alte_scans jetzt ein Ordner? Ein Array? Ein String?!

    Außerdem hast du doch ein Logfile erstellt. das sollte doch recht aufschlussreich sein, WANN der Fehler auftritt

  • achso
    ja in

    [autoit]

    $alte_scans

    [/autoit]

    steht der wert "Scans vom Vortag"
    das ist der ordner, für den die funktion nicht verwendet werden darf, denn er kann sich ja nicht in sich selbst verschieben
    deswegen für alle elemente im ordner (ausgeschlossen dem "scans vom vortag")

    nene, ich hab keine logfile, es wird ja alles gelöscht ?(

  • nene, ich hab keine logfile, es wird ja alles gelöscht ?(

    Dann schreib dein Log mal per ConsoleWrite - dann bist du schonmal ein stück schlauer.

    PS: mach anstatt den sleeps mal eine Variable rein, die anzeigt ob das Skript heute schon durchgelafuen ist. Damit es nicht 2 mal in einer Nacht läuft.