AcTools.Utils.FileUtils.CopyRecursive C# (CSharp) Method

CopyRecursive() public static method

public static CopyRecursive ( string source, string destination ) : void
source string
destination string
return void
        public static void CopyRecursive(string source, string destination) {
            if (File.GetAttributes(source).HasFlag(FileAttributes.Directory)) {
                Directory.CreateDirectory(destination);
                
                foreach (var dirPath in Directory.GetDirectories(source, "*", SearchOption.AllDirectories)) {
                    Directory.CreateDirectory(Path.Combine(destination, GetRelativePath(dirPath, source)));
                }
                
                foreach (var filePath in Directory.GetFiles(source, "*", SearchOption.AllDirectories)) {
                    File.Copy(filePath, Path.Combine(destination, GetRelativePath(filePath, source)), true);
                }
            } else {
                File.Copy(source, destination, true);
            }
        }