/// <summary>
/// Copies all the contents of sourcePath to targetPath
/// </summary>
/// <param name="sourceDirectory">The source directory to copy from</param>
/// <param name="targetDirectory">The target directory to copy to, if not exists, automatically created</param>
public static void copyFolder(string sourceDirectory, string targetDirectory)
{
// If the target directory exists, delete it
if (Directory.Exists(targetDirectory))
Directory.Delete(targetDirectory, true);
// Create the directory
Directory.CreateDirectory(targetDirectory);
// Copy files
string[] files = Directory.GetFiles(sourceDirectory);
foreach (string file in files)
File.Copy(
file,
Path.Combine(
targetDirectory,
Path.GetFileName(file)));
// Copy folders
string[] folders = Directory.GetDirectories(sourceDirectory);
foreach (string folder in folders)
copyFolder(
folder,
Path.Combine(
targetDirectory,
Path.GetFileName(folder)));
}