![]() |
Status einer Datei überprüfen
Hallo,
wir kann ich herausfinden ob eine Datei noch kopiert wird? Beispiel: Wenn man eine 5GB Datei in einem Ordner kopiert (der Kopiervorgang geschieht nicht über die Applikation) dann dauert das ja ein bisschen :wink: Wie kann ich dann überprüfen ob der Kopiervorgang schon beendet ist bzw. ob man auf die Datei Zugriff hat. Die Überprüfung muss höchstwahrscheinlich über die API geschehen. Ich hab schon mit FindFirstChangeNotification getestet aber das klappt nicht so wie ich das will :( PS: Sorry für den komischen Titel hab aber leider nichts passenderes gefunden |
Re: Status einer Datei überprüfen
Zitat:
Und was hat mit FindFirstChangeNotification nicht funktioniert? |
Re: Status einer Datei überprüfen
Wenn sich keine Datei in dem Ordner befindet, wird gesagt das eine drin ist
Hier ist mein Versuch:
Delphi-Quellcode:
Wie gesagt wenn keine Datei drin ist, dann kommt die Meldung Objekt ist vorhanden.
mHandle := FindFirstChangeNotification(PChar('E:\temp'),
False,(FILE_ACTION_ADDED) and (not FILE_ACTION_REMOVED)); if (mHandle = INVALID_HANDLE_VALUE) then begin exit; end; If WaitForSingleObject(Handle, 500) = WAIT_OBJECT_0 Then begin if (FindNextChangeNotification(mHandle)) then begin ShowMessage('Objekt ist vorhanden'); end else begin ShowMessage('Objekt ist nicht vorhanden'); end; end; FindCloseChangeNotification(mHandle); Aber ich muss auch ehrlich sagen, dass ich das ganze noch nicht recht verstehe. Denn es ist auch die Frage wie ich den Dateiname bekomme. |
Re: Status einer Datei überprüfen
Ich würde einfach versuchen, die Datei exklusiv zu öffnen. Ist das nicht möglich, ist sie wahrscheinlich noch im externen Zugriff.
|
Re: Status einer Datei überprüfen
Das Problem ist wenn ich eine 5GB Datei habe und die vorher versuche exklusiv zu öffnen, dann dauert das doch lange und verbraucht viel Performance
|
Re: Status einer Datei überprüfen
hi,
ich glaub hier im forum gibt es ne funktion 'IsFileInUse' oder so ... vllt. wär die was cya |
Re: Status einer Datei überprüfen
Zitat:
Gibt es denn evtl. eine andere Möglichkeit ohne dass man die vorher öffnen muss? Wie gesagt kann sich dabei auch um eine 5GB Datei handeln und das muss "schnell" gehen. |
Re: Status einer Datei überprüfen
Schau Dir mal die FileFlags von CreateFile an. Man muss ja nicht die komplette Datei puffern.
|
Re: Status einer Datei überprüfen
Zitat:
|
Re: Status einer Datei überprüfen
Zitat:
Zitat:
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 02:44 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz