十字星

  • 首页
  • 技术
  • 随笔
  • 瞎折腾
  • 平面设计
  • 文集
  • 留言
  • 其他
    • API测试
  1. 首页
  2. 技术
  3. 正文

将一个目录下的所有文件复制到另一个目录

2019-07-04 1491点热度 1人点赞 0条评论
private static void CopyDir(string path, string newpath)
{
    try
    {//检查目标目录是否以目录分割字符结束如果不是则添加之
        if (newpath[newpath.Length - 1] != System.IO.Path.DirectorySeparatorChar)
        {
            newpath += System.IO.Path.DirectorySeparatorChar;
        }
        //判断目标目录是否存在如果不存在则创建之
        if (!System.IO.Directory.Exists(newpath))
        {
            System.IO.Directory.CreateDirectory(newpath);
        }
        //得到源目录的文件列表,该里面是包含文件及目录路径的一个数组
        //如果指向copy目标文件下面的文件而不包含目录请使用下面的方法
        //string[] filelist=Directory.GetFiles(path)
        string[] filelist = System.IO.Directory.GetFileSystemEntries(path);
        //遍历所有的文件和目录
        foreach (string item in filelist)
        {
            //先当作目录处理如果存在这个目录就递归copy该目录下面的文件
            if (System.IO.Directory.Exists(item))
            {
                CopyDir(item, newpath + System.IO.Path.GetFileName(item));
            }
            //否则直接copy文件
            else
            {
                System.IO.File.Copy(item, newpath + System.IO.Path.GetFileName(item), true);
            }
        }
    }
    catch (Exception)
    {
        throw;
    }
}

从网易博客(http://cxwstar.blog.163.com/blog/static/48468763201142905746906/)迁移,原发表于2011年5月29日.

本作品采用 知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议 进行许可
标签: C#
最后更新:2019-07-04

cxw

技术宅,最喜瞎折腾.

点赞
< 上一篇
下一篇 >
最新 热点 随机
最新 热点 随机
git迁移项目中的某个目录到新项目 winform判断设计模式还是运行时模式 C# 中的where T : class, new() 到底是什么意思? 解决安装.NET失败并提示“无法建立到信任根颁发机构的证书链” 关闭.net4.0的http访问默认代理 删除名称最后带空格的文件夹
C# 中的where T : class, new() 到底是什么意思? [转载]7Z命令行解压缩 WordPress文章阅读量统计和显示(非插件,刷新页面不累加) linux下搭建svn服务器 Hyper-V安装无桌面版CentOS 6.5并配置自启动redis服务之一:创建Hyper-V虚拟机 解决安装.NET失败并提示“无法建立到信任根颁发机构的证书链”
标签聚合
WordPress PHP Excel CentOS C# Linux 工具 W10 WinForm IT
最近评论
admin 发布于 5 年前(01月22日) 使用Andi Dittrich作者的插件Enlighter实现
alex 发布于 5 年前(01月22日) 博主,请问把代码贴到博客里可以复制是怎么实现的

COPYRIGHT © 2021 十字星. ALL RIGHTS RESERVED

Theme Kratos Made By Seaton Jiang