Willkommen auf myCSharp.de! Anmelden | kostenlos registrieren
 | Suche | FAQ

Hauptmenü
myCSharp.de
» Startseite
» Forum
» Suche
» Regeln
» Wie poste ich richtig?

Mitglieder
» Liste / Suche
» Wer ist online?

Ressourcen
» FAQ
» Artikel
» C#-Snippets
» Jobbörse
» Microsoft Docs

Team
» Kontakt
» Cookies
» Spenden
» Datenschutz
» Impressum

  • »
  • Community
  • |
  • Diskussionsforum
Directory rekursiv kopieren
ILM
myCSharp.de - Member



Dabei seit:
Beiträge: 6

Themenstarter:

Directory rekursiv kopieren

beantworten | zitieren | melden

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!
private Nachricht | Beiträge des Benutzers
herbivore
myCSharp.de - Experte

Avatar #avatar-2627.gif


Dabei seit:
Beiträge: 49.486
Herkunft: Berlin

beantworten | zitieren | melden

Hallo ILM,

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

herbivore
private Nachricht | Beiträge des Benutzers
ILM
myCSharp.de - Member



Dabei seit:
Beiträge: 6

Themenstarter:

beantworten | zitieren | melden

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
private Nachricht | Beiträge des Benutzers
herbivore
myCSharp.de - Experte

Avatar #avatar-2627.gif


Dabei seit:
Beiträge: 49.486
Herkunft: Berlin

beantworten | zitieren | melden

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
private Nachricht | Beiträge des Benutzers
talla
myCSharp.de - Experte

Avatar #avatar-3214.jpg


Dabei seit:
Beiträge: 6.862
Herkunft: Esslingen

beantworten | zitieren | melden

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.
private Nachricht | Beiträge des Benutzers
ILM
myCSharp.de - Member



Dabei seit:
Beiträge: 6

Themenstarter:

beantworten | zitieren | melden

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.
private Nachricht | Beiträge des Benutzers