关于删除文件夹或文件

1.删除文件

//appPath需要删除文件的路径

DirectoryInfo dyInfo = new DirectoryInfo(appPath);

//dyInfo.GetFiles()获取文件夹下所有的文件
foreach (FileInfo file in dyInfo.GetFiles())
{
//删除条件,此处根据文件的创建时间来作为判断删除的条件,还可更具文件的名字等等来进行删除
 if (file.CreationTime.Date == DateTime.Today)

{

file.Delete();

}

}

2.删除文件夹

eg:文件夹中保留最新的三个文件夹其余的删除(此处文件夹名以日期命名)。

DirectoryInfo dyInfo = new DirectoryInfo(appPath);

//GetDirectories()表示获取当前目录下的子目录(子文件夹),若要获取当前目录下的子目录的文件可以使用GetFileSystemInfos()

FileSystemInfo[] fileinfo = dyInfo.GetDirectories();

var files = fileinfo.OrderBy(r => r.Name).Take(fileinfo.Length - 3);
foreach (FileSystemInfo file in files )
{
if (file  is DirectoryInfo) //判断是否文件夹
{
DirectoryInfo subdir = new DirectoryInfo(file.FullName);
subdir.Delete(true); //删除子目录和文件
}
}

 

3.混合删除

DirectoryInfo dyInfo = new DirectoryInfo(appPath);

//GetDirectories()表示获取当前目录下的子目录(子文件夹),若要获取当前目录下的子目录的文件可以使用GetFileSystemInfos()

FileSystemInfo[] fileinfo = dyInfo.GetFileSystemInfos();

foreach (FileSystemInfo file in fileinfo )
{
if (file  is DirectoryInfo) //判断是否文件夹
{
DirectoryInfo subdir = new DirectoryInfo(file.FullName);
subdir.Delete(true); //删除子目录和文件
}

else
{
//注:如果使用了streamreader在删除前必须先关闭流streamreader.close(),否则无法删除 ;
File.Delete(file.FullName); //删除指定文件
}
}

 

posted @ 2019-07-10 15:12  流年sugar  阅读(483)  评论(0编辑  收藏  举报