Laden...

Directory rekursiv kopieren

Erstellt von ILM vor 17 Jahren Letzter Beitrag vor 17 Jahren 3.400 Views
I
ILM Themenstarter:in
6 Beiträge seit 2006
vor 17 Jahren
Directory rekursiv kopieren

Hallo,

ich haben folgendes Problem: Ich habe ein kleines Programm geschrieben, dass per FileSystemWatcher ein Directory überwacht. Sobald eine Datei/Order in dem Directory dazukommt, soll dieses rekursiv kopiert/verschoben werden.

Leider kommt das Event des FileSystemWatcher sobald ein File/Ordner neu angelegt wird. Wenn ich dann versuche das File/den Ordner zu kopieren knallts, weil das Object in use ist.

Bei einzelne Files kann ich das umgehen indem ich die Exception catche, warte und es dann nochmal versuche, bis das File komplett vorliegt.

Sobald aber ein Order mit Unterordnern und Files angelegt wird, kann ich nicht checken, ob der Ordner noch in Benutzung ist.

Gibt es eine Möglichkeit rekursiv ein Verzeichnis zu checken, bevor ich es kopiere/verschiebe?

(Ich benutze DotNet 2.0)

Danke schonmal im voeraus!

49.485 Beiträge seit 2005
vor 17 Jahren

Hallo ILM,

das Thema hatte wir schon ein paar mal. Forumssuche nach FileSystemWatcher sollte reichen.

herbivore

I
ILM Themenstarter:in
6 Beiträge seit 2006
vor 17 Jahren

Hi herbivore,

leider nicht ganz, hab das Forum durchsucht, aber es geht meistens darum eine Datei zu kopieren/verschieben.

Ich möchte ein Verzeichnis mit samt Unterverzeichnissen und Dateien kopieren, und muss deshalb vor dem kopieren/verschieben wissen, ob der gesamte Verzeichnisbaum komplett vorliegt. Wie krieg ich das hin?

Falls ich mich irre und das Thema wirklich schonmal diskutiert wurde, wäre ein Link toll.

Gruß ILM

49.485 Beiträge seit 2005
vor 17 Jahren

Hallo ILM,

ob der gesamte Verzeichnisbaum vorliegt, kannst du m.E. nur anwendungsspezifisch testen. Ich denke nicht, dass der FileSystemWatcher da eine Unterstützung für bringt. Woher soll man im Allgemeinen wissen, ob der Verzeichnisbaum komplett ist? Für den Test einzelner Dateien in dem gesamten Baum gilt dann wieder das für einzelene Dateien gesagte.

herbivore

6.862 Beiträge seit 2003
vor 17 Jahren

Wie du es für einzelen Files machst weißt du doch schon. Genauso machst es für ganze Ordnerstrukturen, nur dass du dort halt jedes File überwachen musst, was natürlich bissle mehrarbeit ist.

Baka wa shinanakya naoranai.

Mein XING Profil.

I
ILM Themenstarter:in
6 Beiträge seit 2006
vor 17 Jahren

Danke!

hab's hinbekommen.

Der trick war, dass ich nachdem ich alle Dateien in einem Ordner überprüfen muss ob sich die anzahl der Dateien verändert hat.

Und natürlich erst wenn sich die Anzahl der Dateien nicht mehr ändert darf gelöscht werden.