Filemove - Problem bei gesperrten Dateien

  • Ich lasse ein Script über den Taskmanager in regelmäßen Abständen ausführen, wo ich mit filemove Ascii-Dateien von zwei unterschiedlichen Verzeichnissen (Schnittstellenverzeichnisse) in ein zentrales Verzeichnis verschiebe.

    Primär kein "Problem" jedoch tritt manchmal der Fall ein, daß das Script nicht mehr korrekt arbeitet. Und zwar dann, wenn die Dateien noch von irgendeiner Schnittstelle im Zugriff ist. Dann passiert es, daß die ersten 2-3 Dateien noch gesperrt sind und daher nicht verschoben werden können. Die restlichen anstehenden Dateien können somit auch nicht mehr verschoben werden. Fazit: das Verzeichnis läuft voll und die Fremdaplikation bekommt keine Schnittstellendateien zum Verarbeiten.

    Meine Frage: wie kann ich "filemove" so einrichten, daß die gesperrten Dateien "liegen" bleiben aber die anderen nicht gesperrten Files trotzdem verschoben werden. :?:

    Vielen Dank für die Hilfe

    Einmal editiert, zuletzt von superpati (26. April 2010 um 15:19)

  • Ich befürchte das wirst du FielMove() direkt nicht beibringen können. Ich geh mal davon aus das die Dateien alle die selbe Endung haben und du sie per *.blub an FileMove() übergibst.

    Ich würde das Problem umgehen indem ich zuerst die Dateinamen ermittle und in ein Array schreibe. Danach dann in einer FOR-Schleife für jedes Arrayelement FileMove() ausführen. Mit einer kleinen Abfrage der Rückgabe von FileMove() sollte das Überspringen dann kein Problem mehr sein. Fertige Funktionen zur Dateisuche findest du über die SuFu im Dutzend.

  • Danke für die Info......es stimmt daß die Files alle dieselbe Endung haben....ich habe es allerdings vermutet, daß ich bei jeder einzelnen Datei den Rückgabewert "abfragen" muß.....aber es sammeln sich halt sehr, sehr viele Dateien in einem bestimmten Zeitraum an.......und wenn ich die alle abfragen muß, wird das wahrscheinlich eine ziemlich lange Angelegenheit werden......muß ich mal schauen, ob ich den Intervall verkürzen kann, um das abzufangen.

    Ich werde mich schlau machen.

    danke