C#递归复制文件夹

        /// <param name="sources">原路徑</param>
        /// <param name="dest">目標路徑</param>        
        private void CopyFile(string sources, string dest)
        {
            if (Directory.Exists(sources))
            {
                DirectoryInfo dinfo = new DirectoryInfo(sources);//   傳的是文件路徑,所以不能包含後綴名
                foreach (FileSystemInfo f in dinfo.GetFileSystemInfos())
                {
                    //  目標路徑destName = 目標文件夾路徑 + 原文件夾下的子路徑(或文件夾)名字  
                    String destName = Path.Combine(dest, f.Name);
                    if (f is FileInfo)//    如果是文件就复制                     
                    {
                        System.IO.File.Copy(f.FullName, destName, true);//  true代表可以覆盖同名文件                     
                    }
                    else//  如果是文件夾就創建文件夾然后复制然后递归复制                     
                    {
                        if (!Directory.Exists(destName))
                        {
                            Directory.CreateDirectory(destName);
                        }
                        CopyFile(f.FullName, destName);//   遞歸調用                     
                    }
                }
            }
        }        

 

转载于:https://www.cnblogs.com/LJP-JumpAndFly/p/4634506.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值