C#复制文件的时候只提供了复制文件的类,没有复制文件夹。
删除文件夹的时候,文件夹下面有文件的时候是不能删除的,需要先删除文件夹下面所有文件才能删除文件夹。
在网上找了很多资料,在这里记录一下这两个方法:
复制文件夹:
/// <summary>
/// 复制文件夹
/// </summary>
/// <param name="sourceFolder">待复制的文件夹</param>
/// <param name="destFolder">复制到的文件夹</param>
private void CopyFolder(string sourceFolder, string destFolder)
{
if (!Directory.Exists(destFolder))
{
Directory.CreateDirectory(destFolder);
}
string[] files = Directory.GetFiles(sourceFolder);
foreach (string file in files)
{
string name = Path.GetFileName(file);
string dest = Path.Combine(destFolder, name);
File.Copy(file, dest);
}
string[] folders = Directory.GetDirectories(sourceFolder);
foreach (string folder in folders)
{
string name = Path.GetFileName(folder);
string dest = Path.Combine(destFolder, name);
CopyFolder(folder, dest);
}
}
删除文件夹:
/// <summary>
/// C# 删除文件夹
/// </summary>
/// <param name="dir">删除的文件夹,全路径格式</param>
private void DeleteFolder(string dir)
{
// 循环文件夹里面的内容
foreach (string f in Directory.GetFileSystemEntries(dir))
{
// 如果是文件存在
if (File.Exists(f))
{
FileInfo fi = new FileInfo(f);
if (fi.Attributes.ToString().IndexOf("Readonly") != 1)
{
fi.Attributes = FileAttributes.Normal;
}
// 直接删除其中的文件
File.Delete(f);
}
else
{
// 如果是文件夹存在
// 递归删除子文件夹
DeleteFolder(f);
}
}
// 删除已空文件夹
Directory.Delete(dir);
}
分享到:
相关推荐
winform 文件操作 WM6.0 c# 遍历文件夹、复制文件、删除文件、复制文件内容
本文实例讲述了C#实现复制文件夹中文件到另一个文件夹的方法。分享给大家供大家参考。具体如下: private void CopyDir(string srcPath, string aimPath) { try { // 检查目标目录是否以目录分割字符结束如果...
C# 文件工具类 实际项目使用 久经考验 文件读写 复制 删除 创建文件夹 判断文件扩展名等等
简单的递归删除文件,递归拷贝文件。欢迎交流
可以实现不同盘符之间的移动,其原理是对文件的深度复制和删除。
主要为大家详细介绍了C#实现文件夹的复制和删除功能,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
扩展DirectoryInfo类,使其支持各种强大的文件夹操作
一旦,文件夹或文件夹下的文件、子目录有复制、删除、移动、创建等等操作,文件夹的时间 一般情况下 就不对了! 这会在文件整理的时候,造成一些困惑。 咱们的期望是:这个时间能体现下面所有文件的最后写入(修改...
①可以选择需要删除文件的文件夹(或者直接复制需删除的文件夹路径) ①可以根据选择删除文件的日期(或选择日期的前后天数)来删除指定文件夹下的文件 ②可以根据文件后缀名(或文件大小)来删除指定文件夹下的文件...
在.Net中,对文件(File)和文件夹(Folder)的操作可以使用File类和Directory类,也可以使用FileInfo类和DirectoryInfo类。...如果你对某一个文件或文件夹只进行一次操作,那你最好使用该静态类的静态方法,比如F
当我们下载的大量文件,解压后发现一层套一层,真的很是烦恼,一个个的剪切、复制,真是烦不胜烦,有了这个小工具,就可以去除父文件夹内所有单文件夹,不管多少层,指导出现超过一个文件或文件夹。这个很简单,就不...
这是我封装的一个将指定路径的文件夹下的所以文件复制和删除的类,拿过去可以直接用!
MFC文件复制 删除,进度条显示文件复制进度,同时显示百分比,用文件对话框选择文件,进度条颜色并改变,代码通俗易懂
100%解决目标文件夹过长,无法删除的问题。操作简单直接选择目标文件夹,点删除键就行了。软件用C#写的,没有上传安装包,直接复制的运行文件。需如有发现不能运运的,可能是没有支持文件。
1. 实现了对文件、文件夹的复制、粘贴、剪切、删除功能; 2.实现了对文件夹的双击打开、对多种类型的文件的双击打开查看功能; 3.实现了主窗体左边驱动器树形视图(显示各驱动器及内部各文件夹列表)、右边文件列表...
复制文件夹,检查文件, 如果文件不存在则创建, 删除指定文件夹对应其他文件夹里的文件, 从文件的绝对路径中获取文件名( 包含扩展名 ), 复制文件参考方法,页面中引用, 创建一个目录, 创建一个文件, 并将字节流写入...
主要介绍了C#程序中创建、复制、移动、删除文件或文件夹的示例,即对System.IO命名空间中类的运用,需要的朋友可以参考下
实现文件浏览,文件夹导航,不同卷之间复制,移动,删除,图标,文件类型 ,还有些东西没有 优化好 但用2个控件 还是可以用的 可以方便操作文件 或许有点用
文件 文件夹操作, 增加 删除 修改, 复制 txt 文件数据换行,数据写入, 清空, 数据附加。