.NET Core中没有原生的复制文件夹方法,我们可以自己写个:

新建一个.NET Core控制台项目,示例代码如下:

using System;
using System.IO; namespace CoreIO
{
class Program
{
/// <summary>
/// 复制源文件夹下的所有内容到新文件夹
/// </summary>
/// <param name="sources">源文件夹路径</param>
/// <param name="dest">新文件夹路径</param>
static void CopyFolder(string sources, string dest)
{
DirectoryInfo dinfo = new DirectoryInfo(sources);
//注,这里面传的是路径,并不是文件,所以不能包含带后缀的文件
foreach (FileSystemInfo f in dinfo.GetFileSystemInfos())
{
//目标路径destName = 新文件夹路径 + 源文件夹下的子文件(或文件夹)名字
//Path.Combine(string a ,string b) 为合并两个字符串
string destName = Path.Combine(dest, f.Name);
if (f is FileInfo)
{
//如果是文件就复制
File.Copy(f.FullName, destName, true);//true代表可以覆盖同名文件
}
else
{
//如果是文件夹就创建文件夹,然后递归复制
Directory.CreateDirectory(destName);
CopyFolder(f.FullName, destName);
}
}
} static void Main(string[] args)
{
string sourceFolder = @"F:\xBackup";
string destFolder = @"F:\DemoFolder"; CopyFolder(sourceFolder, destFolder); Console.WriteLine("Press any key to end...");
Console.ReadKey();
}
}
}

最新文章

  1. three.js全景
  2. python sys模块
  3. JSON数据解析(GSON方式) (转)
  4. docker warning ipv4 forwarding is disabled. networking will not work
  5. php实现单个用户禁止重复登录,防止同一用户同时登陆
  6. Android doc打开太慢
  7. C#:Oracle数据库带参PLSQL语句的正确性验证
  8. python [吐槽]关于nan类型时遇到的问题
  9. 《C++ primer》--第7章
  10. poj 1458 Common Subsequence(区间dp)
  11. java第五周学习
  12. Ubuntu 12.04下安装thrift 0.9
  13. K:常见的正则表达式
  14. css选择器(常规选择器,伪类选择器,伪元素选择器,根元素选择器)
  15. 面试题----入参两个Integer,无返回值,然后使这个两个值在调用函数后交换
  16. bash的基础特性
  17. DataGridView实时提交
  18. 什么是Unicode
  19. php 目录操作
  20. [日常] Go语言圣经-WEB服务与习题

热门文章

  1. Ubuntu下解压缩文件
  2. 没有服务商如何购买ERP的序列号?
  3. Spring MVC 请求映射 (二)
  4. 以太坊 ERC20 与 ERC721 深度解密
  5. c/c++二叉树的创建与遍历(非递归遍历左右中,破坏树结构)
  6. 关于.NET字符串驻留的问题
  7. {windows故障}关于WIN7故障模块StackHash_0a9e解决方法
  8. php判断手机是安卓系统还是ios系统
  9. 聚类——WKFCM
  10. 力扣算法题—060第K个排列