十字星

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

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

2019-07-04 1498点热度 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访问默认代理 删除名称最后带空格的文件夹
2020年北京昌平的第一场雪 Hyper-V安装无桌面版CentOS 6.5并配置自启动Redis服务之三:安装Redis服务并配置随系统自启 针对上一篇《单例模式基类如何初始化子类》中有关线程启动停止的优化 Robots文件限制问题 git迁移项目中的某个目录到新项目 易语言获取运行目录的上级目录
标签聚合
IT MySQL Linux W10 WordPress C# PHP Excel WinForm CentOS
最近评论
alex 发布于 4 年前(01月22日) 博主,请问把代码贴到博客里可以复制是怎么实现的

COPYRIGHT © 2021 十字星. ALL RIGHTS RESERVED

THEME KRATOS MADE BY VTROIS

京ICP备2020032489号-2