Ordner mit datein und Unterordner kopiern

AlexanderLind

Grünschnabel
Heidiho...also ich hab schon lange nix mehr gecodet....deswegen hab ich auch viiiieeeellll vergessen.

Jetzt muss ich mir aber trotzdem mal wieder ein Programm schreiben.
jetzt meine Frage ich möchte einen Ordern mit allen Datein und Unterordner kopiern....
wie geht das?

THX
 
Hallo.

Es gäbe eine Methode der Directory Klasse welches ein komplettes Verzeichnis verschiebt, ein Equivalent nur zum Kopieren gibts anscheinend nicht.
Das heisst, du müsstest dir eine rekursive Methode schreiben welche die Unterordner erstellt, und dann die Dateien kopiert.

Dies könnte so aussehen:

Code:
using System;
using System.IO;

public class DirectoryCopy
{
	public static void Main()
	{
		new DirectoryCopy();
	}
	
	private string sourcepath, destpath;
	
	public DirectoryCopy()
	{
		Console.Write("SourcePath: "); sourcepath = Console.ReadLine();
		Console.Write("Dest.Path: "); destpath = Console.ReadLine();
		Copy(sourcepath);
		Console.Read();
	}
	
	private void Copy(string dir)
	{
		if (Directory.Exists(dir))
		{
			foreach (string subdir in Directory.GetDirectories(dir))
			{
				Copy(subdir);
			}
			string dest = dir.Replace(sourcepath, destpath);
			Directory.CreateDirectory(dest);
			Console.WriteLine("Create Directory: " + dest);
			
			foreach (string file in Directory.GetFiles(dir))
			{
				string newfile = file.Replace(sourcepath, destpath);
				File.Copy(file, newfile);
				Console.WriteLine("Copy File " + file + " to " + newfile);
			}
		}
	}
	
}

MfG,
Alex
 
Zurück