C#复制文件和文件夹 转 武胜

/// <summary>
        /// 移动文件
        /// </summary>
        /// <param name="source">源目录</param>
        /// <param name="target">目标目录</param>
        private bool MoveFolderTo(string srcPath, string tgtPath)
        {
            try
            {
                //检查目标目录是否是以分割符结束,如果不是这添加
                if (tgtPath[tgtPath.Length - 1] != System.IO.Path.DirectorySeparatorChar)
                {
                    tgtPath += System.IO.Path.DirectorySeparatorChar;
                }
                //判断目标目录是否存在如果不存在则新建
                if (!System.IO.Directory.Exists(tgtPath))
                {
                    Directory.CreateDirectory(tgtPath);
                }
                //得到源目录文件列表
                string[] fileList = Directory.GetFileSystemEntries(srcPath);
                foreach(string file in fileList)
                {
                    if (Directory.Exists(file))
                    {
                        MoveFolderTo(file, tgtPath + System.IO.Path.GetFileName(file));
                    }
                    else
                    {
                        System.IO.File.Copy(file, tgtPath + System.IO.Path.GetFileName(file), true);
                    }
                }
                return true;
            }
            catch (Exception ex)
            {
                return false;
            }
        }

原文地址:https://www.cnblogs.com/zeroone/p/2454726.html