c#将一个文件夹及其里面的所有内容(文件和文件夹)复制到指定路径

本文介绍了一个使用 C# 编写的递归函数,该函数可以将一个文件夹及其所有内容复制到另一个位置。文章详细展示了如何创建目标路径、处理文件及子文件夹,并提供了错误处理方式。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

	    string 源文件目录 = @"D:\x";
            string 目标目录 = @"F:\y";
  public void copyDir(string srcPath, string aimPath)
        {
            try

            {

//如果不存在目标路径,则创建之

                if (!System.IO.Directory.Exists(aimPath))
                {
                    System.IO.Directory.CreateDirectory(aimPath);
                }
                //令目标路径为aimPath\srcPath
                string srcdir = System.IO.Path.Combine(aimPath, System.IO.Path.GetFileName(srcPath));
                //如果源路径是文件夹,则令目标目录为aimPath\srcPath\
                if (Directory.Exists(srcPath))
                    srcdir += Path.DirectorySeparatorChar;
                // 如果目标路径不存在,则创建目标路径
                if (!System.IO.Directory.Exists(srcdir))
                {
                    System.IO.Directory.CreateDirectory(srcdir);
                }
                //获取源文件下所有的文件
                String[] files = Directory.GetFileSystemEntries(srcPath);
                foreach (string element in files)
                {
                    //如果是文件夹,循环
                    if (Directory.Exists(element))
                        copyDir(element, srcdir);
                    else
                        File.Copy(element, srcdir + Path.GetFileName(element), true);
                }
            }
            catch
            {
                Console.WriteLine("无法复制");
            }
        }


                
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值