BuildServerUploaderConsole.Processes.CopyInformation.CopyDirectory C# (CSharp) Метод

CopyDirectory() публичный статический Метод

public static CopyDirectory ( string folderLocation, string targetDirectory ) : List
folderLocation string
targetDirectory string
Результат List
        public static List<CopyInformation> CopyDirectory(string folderLocation, string targetDirectory)
        {
            string frbdkDirectory = DirectoryHelper.FrbdkDirectory;

            folderLocation = frbdkDirectory + folderLocation;

            string targetLocation = DirectoryHelper.TemplateDirectory + targetDirectory + @"\";

            //Create all of the directories
            foreach (var path in Directory.GetDirectories(folderLocation, "*", SearchOption.AllDirectories)
                                          .Select(dirPath => dirPath.Replace(folderLocation, targetLocation))
                                          .Where(path => !Directory.Exists(path)))
            {
                Directory.CreateDirectory(path);
            }

            //Copy all the files

            return (from newPath in Directory.GetFiles(folderLocation, "*.*", SearchOption.AllDirectories)
                    let path = newPath.Replace(folderLocation, targetLocation)
                    select new CopyInformation
                    {
                        SourceFile = newPath,
                        DestinationFile = path
                    }).ToList();
        }

Usage Example

 static void AddDirectory(string fileName, string destination)
 {
     mCopyInformation.AddRange(CopyInformation.CopyDirectory(fileName, destination));
 }