C#封装Directory.Move()方法

思路:递归遍历整个文件夹对每个文件进行复制

Directory.GetDirectories();对文件夹进行操作

Directory.GetFiles();对文件进行操作

代码:

class DirectoryMove
    {
        public static void DirCopy(string sourceFolderName, string destFolderName)
        {
            if (!Directory.Exists(sourceFolderName)) {
                Console.WriteLine("该文件不存在");
                return;
            }
           

            //复制文件夹
            string[] sourceFilesPath = Directory.GetDirectories(sourceFolderName);//获取指定路径中的文件夹

            if (Directory.Exists(sourceFolderName))
            {
                for (int i = 0; i < sourceFilesPath.Length; i++)
                {
                    string newDir = sourceFilesPath[i].Replace(sourceFolderName, destFolderName);//将原路径替换为移动后的路径

                    Directory.CreateDirectory(newDir);

                    DirCopy(sourceFilesPath[i], newDir);//递归
                }
            }

            //复制文件
            string[] sourceFile = Directory.GetFiles(sourceFolderName);//获取指定路径中的文件

            for (int j = 0; j < sourceFile.Length; j++)
            {
                string destFile = sourceFile[j].Replace(sourceFolderName, destFolderName);
                File.Copy(sourceFile[j], destFile);

            }

            //删除原文件
            Directory.Delete(sourceFolderName, true);
        }

    }

猜你喜欢

转载自blog.csdn.net/qq_42485607/article/details/81201891