Posts Tagged copy

Copying a folder

Posted by Ozer Senturk on Tuesday, 9 March, 2010
/// <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)));
}