Ermitteln ob und von wem eine Datei benutzt wird/geöffnet ist (war: FindFirst und geöffnet Word-Dateien ingnorieren)



  • Hi,

    ich durchsuche ein Verzeichnis zyklisch mit FindFirst verarbeite die gefundenen Dateien, kopiere sie in ein anderes Verzeichnis und lösche sie danach. Klappt soweit auch, ist jedoch eine Word-Datei in dem Ordner geöffnet kann ich diese natürlich nicht löschen, da die Datei gesperrt ist.

    Gibt es eine Möglichkeit festzustellen, ob eine Datei geööfnet ist und ich diese dann ignorieren kann(am besten mit FindFirst)?

    Gruß und Dank

    Markor

    Ich könnte zwar den Umweg gehen und das Verzeichnis nach der temporären Worddatei durchsuchen (~$name_der_datei.doc), aber das Problem kann ja auch bei anderen Dateitypen auftreten und ich wollte eine allgemeingültige Lösung.



  • versuch doch einfach die datei zu löschen und fang die exception ab.
    (gut, ist vielleicht net die eleganteste methode, aber sie sollte funzen)
    klingt irgendwie nach brute force 😃



  • Da das sehr tief ins Betriebssystem geht, wirst du nur mit der Betriebssystem API eine Lösung finden können.

    Da du von Word redest, nehme ich an du verwendest Windows und schiebe dich mal nach WinAPI. Ich habe mir erlaubt die Überschrift etwas umzubauen.

    ->Verschoben



  • Du könntest evtl. versuchen, ob du die Datei per LockFile(Ex) schützen kannst, wenn nicht ist sie wohl geöffnet 🙄 aber der Vorschlag von Jester2000 ist doch gar nicht so schlecht, für das was du vorhast (Du musst eben einfach nur die Fehlermeldung unterdrücken 😉 )



  • Ich habe mich jetzt für die "brute force" 🤡 Methode entschieden.

    BESTEN DANK!


Anmelden zum Antworten