[CSHARP] using System.IO; . . . void CopyDirectory(DirectoryInfo source, DirectoryInfo destination) { if (!destination.Exists) destination.Create(); // Copy all files. FileInfo[] files = source.GetFiles(); foreach (FileInfo file in files) file.CopyTo(Path.Combine(destination.FullName, file.Name));

// Process subdirectories.
DirectoryInfo[] dirs = source.GetDirectories();
foreach (DirectoryInfo dir in dirs)
{
    // Get destination directory.
    string destinationDir = Path.Combine(destination.FullName,dir.Name);
    // Call CopyDirectory() recursively.
    CopyDirectory(dir, new DirectoryInfo(destinationDir));
}

} [/CSHARP]