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); //删除指定文件
}
}