Entwickler-Ecke
IO, XML und Registry - Verzeichnisse inkl. Unterverzeichnisse kopieren
OKNER - Mo 21.11.05 15:16
Titel: Verzeichnisse inkl. Unterverzeichnisse kopieren
Hallo,
wie kann ich komplette Vezeichnisse mit c# kopieren (inkl Unterverzeichnisse; Rekursion)?
Hat jemand ein Beispielß
Gruß
Renko
Christian S. - Mo 21.11.05 20:11
Hallo!
Du hast das Stichwort ja schon selber genannt: Rekursion. Du ermittelst über Directory bzw. DirectoryInfo die in einem Verzeichnis enthaltenen Verzeichnisse und Dateien. Die Dateien kopierst Du einfach, bei den Verzeichnissen extrahierst Du den Namen und erstellst sie am Zielort. Dann gehst Du die Verzeichnisse durch und fängst in jedem Verzeichnis von vorne an.
Grüße
Christian
P.S.: Benötigter Namespace: System.IO
OKNER - Di 22.11.05 10:44
Titel: Danke für den Tipp
Das werde ich gleich mal probieren.
OKNER - Di 22.11.05 18:23
Titel: Beispiel
Hi,
so funktioniert es. Danke.
C#-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21: 22: 23: 24: 25: 26: 27: 28: 29: 30: 31: 32: 33: 34: 35: 36: 37: 38: 39: 40: 41: 42:
| class Class1 { [STAThread] static void Main(string[] args) { myFilesystem x = new myFilesystem();
DirectoryInfo di = new DirectoryInfo("d:\\test");
x.CopyFolder(di , "d:\\test5"); } } class myFilesystem { public bool CopyFolder(DirectoryInfo source, string dest) { bool result = true;
if(!Directory.Exists(dest)) Directory.CreateDirectory(dest);
foreach(FileInfo fi in source.GetFiles()) { string destFile = dest + "\\" + fi.Name; result = result && (fi.CopyTo(destFile, true) != null); }
foreach(DirectoryInfo subDir in source.GetDirectories()) { string destTmp = subDir.FullName.Replace(source.FullName, dest); result = result && CopyFolder(subDir, destTmp); } return result;
} } |
Moderiert von Christian S.: C#-Tags hinzugefügt
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2024 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!