文件与文件夹的完全复制
文件与文件夹的完全复制,包扩子目录与子目录的文件
static void Main(string[] args)
{
string dir1 = @"E:\MyTest\2.NET\FileAndDirCopy\file1";
string dir2 = @"E:\MyTest\2.NET\FileAndDirCopy\file2";
FileAndDirFullCopy(dir1, dir2);
Console.ReadKey();
}
/// <summary>
/// Full copies of files and directories
/// </summary>
/// <param name="sourceDir">source Dir.</param>
/// <param name="destinationDir">destination Dir.</param>
public static void FileAndDirFullCopy(string sourceDir, string destinationDir)
{
DirectoryInfo source = new DirectoryInfo(sourceDir);
//Files
FileInfo[] files = source.GetFiles();
foreach (var file in files)
{
string copyToFile = Path.Combine(destinationDir, file.Name);
if (!File.Exists(copyToFile))
{
file.CopyTo(copyToFile);
Console.WriteLine($"文件:({file.FullName})被复制到({copyToFile}).\r");
}
Console.WriteLine($"文件:({file.FullName})复制结束.");
}
//subfolders and subfiles
DirectoryInfo[] subDirs = source.GetDirectories();
foreach (var subDir in subDirs)
{
//Directories
string copyToSubDir = Path.Combine(destinationDir, subDir.Name);
if (!Directory.Exists(copyToSubDir))
{
Console.WriteLine($"目录:{subDir.FullName},被创建.\r");
Directory.CreateDirectory(copyToSubDir);
}
//subfiles
FileInfo[] subfiles = subDir.GetFiles();
foreach (var subfile in subfiles)
{
string copyToSubFile = Path.Combine(copyToSubDir, subfile.Name);
if (!File.Exists(copyToSubFile))
{
subfile.CopyTo(copyToSubFile);
Console.WriteLine($"文件:({subfile.FullName})被复制到({copyToSubFile}).\r");
}
}
//subfolders
FileAndDirFullCopy(subDir.FullName, copyToSubDir);
Console.WriteLine($"目录:({subDir.FullName})复制结束.");
Console.WriteLine();
}
}
作者:【唐】三三
出处:https://www.cnblogs.com/tangge/p/14719977.html
版权:本作品采用「署名-非商业性使用-相同方式共享 4.0 国际」许可协议进行许可。
分类:
C#
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· AI技术革命,工作效率10个最佳AI工具
2017-04-29 3.操作jQuery集合《jquery实战》
2016-04-29 数据结构和算法 – 3.堆栈和队列
2014-04-29 MVC – 5.MVC设计模式和.NetMVC框架
2012-04-29 SQL - 1.数据库概念
2011-04-29 三组文字间隙滚动代码【支持三行或多行一换】