Aug 132007
 

Vor langer, sehr langer zeit, habe ich mal beschrieben wie man mit C# ganze
Verzeichnis kopieren kann. Mit allen Unterordnern und Dateien.

Mir wurde jetzt von einer freundlichen Person mitgeteilt (Dirk Winter, www.kwsiso.de) das die Methode
auf die Nase fällt wenn man ein Verzeichnis kopieren möchte, dass nur Dateien
aber keine Unterverzeichnisse enthält.

Hier die korrigierte Version von mir. Die Zeile 17 war schlicht am falschen Ort.
Wenn es keine Unterverzeichnisse gab wurde das Zielverzeichnis einfach nicht erstellt.
Somit lief die Methode auf einen Fehler. Der Fehler ist in Zeile 8 korrigiert.

 

Dirk schickte mir seine Version. Die will ich euch nicht vorenthalten.
Viel eleganter als meine anno dazumal. 🙂 Danke Dirk.

Er machte mich aber noch auf eine andere Möglichkeit aufmerksam.
Man füge in seinem Projekt ein Verweis auf die Microsoft.VisualBasic.dll hinzu.
Dann noch ein using Microsoft.VisualBasic.FileIO; (C# natürlich) und die folgende  Zeile:

Der Freakfaktor geht einfach verloren. Dass muss natürlich jeder selber wissen. 😀

es läuft: Green Day – Dookie – When I Come Around

  2 Responses to “Mit C# ein Verzeichnis kopieren – Mit allen Unterordner und Dateien – Part II”

Comments (2)
  1. kleiner tipp: sollte man definitiv nicht so wie oben beschrieben machen, da jegliche orderinformationen verloren gehen. zusätzlich funktioniert dies bei best. systemordnern nicht. grad bei windows mit MUI kommt es beim kopieren von userprofilen zu problemen, da diese im orginal anders heissen und anders geflagged sind.

  2. Dieses kopieren ist auch nicht dafür gedacht die Ordnerinfos mit zu nehmen. Das geht definitiev nicht so einfach. Wenn die Security mit soll müsste man das mit AddFileSecurity machen.

Sorry, the comment form is closed at this time.