Home
Manage Your Code
Snippet: Copy Directory (C#)
Title: Copy Directory Language: C#
Description: Recursively copies a directory (and all files and subdirectories) to another location. Views: 147
Author: Dave Donaldson Date Added: 2/25/2008
Copy Code  
1internal void CopyDirectory(string source, string destination)
2{
3    if (destination[destination.Length - 1] != Path.DirectorySeparatorChar)
4    {
5        destination += Path.DirectorySeparatorChar;
6    }
7
8    if (!Directory.Exists(destination))
9    {
10        Directory.CreateDirectory(destination);
11    }
12
13    string[] fileSystemEntries = Directory.GetFileSystemEntries(source);
14    foreach (string entry in fileSystemEntries)
15    {
16        if (Directory.Exists(entry))
17        {
18            // It's a subdirectory so recurse

19            CopyDirectory(entry, destination + Path.GetFileName(entry));
20        }
21        else
22        {
23            // It's a file so copy it

24            File.Copy(entry, destination + Path.GetFileName(entry), true);
25        }
26    }
27}
Usage
CopyDirectory(@"C:\Source", @"C:\Destination");