ATMLManagerLibrary.managers.FileManager.CopyFolder C# (CSharp) Method

CopyFolder() public static method

public static CopyFolder ( string sourceDirName, string destDirName, bool copySubDirs ) : void
sourceDirName string
destDirName string
copySubDirs bool
return void
        public static void CopyFolder( string sourceDirName, string destDirName, bool copySubDirs )
        {
            // Get the subdirectories for the specified directory.
            var dir = new DirectoryInfo( sourceDirName );
            DirectoryInfo[] dirs = dir.GetDirectories();

            if (!dir.Exists)
            {
                throw new DirectoryNotFoundException(
                    "Source directory does not exist or could not be found: "
                    + sourceDirName );
            }

            // If the destination directory doesn't exist, create it.
            if (!Directory.Exists( destDirName ))
            {
                Directory.CreateDirectory( destDirName );
            }

            // Get the files in the directory and copy them to the new location.
            FileInfo[] files = dir.GetFiles();
            foreach (FileInfo file in files)
            {
                string temppath = Path.Combine( destDirName, file.Name );
                file.CopyTo( temppath, false );
            }

            // If copying subdirectories, copy them and their contents to new location.
            if (copySubDirs)
            {
                foreach (DirectoryInfo subdir in dirs)
                {
                    string temppath = Path.Combine( destDirName, subdir.Name );
                    CopyFolder( subdir.FullName, temppath, copySubDirs );
                }
            }
        }