C#将一个文件夹下的所有文件(包括目录)复制到另外一个文件夹

admin 2021-05-18 22:54:00 426浏览 0评论
 /// <summary>
        /// 将文件夹下的所有文件复制到另外一个文件夹
        /// </summary>
        /// <param name="sources">源目录</param>
        /// <param name="dest">目标目录</param>
        public static void CopyAllFile(string sources,string dest)
        {
            if (!Directory.Exists(dest))
            {
                Directory.CreateDirectory(dest);
            }

            string[] files = Directory.GetFileSystemEntries(sources);
            foreach(var file in files)
            {
                string destFileName = Path.Combine(dest, Path.GetFileName(file));
                if(File.Exists(file))
                {
                    File.Copy(file, destFileName, true);
                }
                else
                {
                    if (!Directory.Exists(file))
                    {
                        Directory.CreateDirectory(file);
                    }
                    else
                    {
                        CopyAllFile(Path.Combine(sources, Path.GetFileName(file)), destFileName);
                    }
                }
            }
        }


0条评论