public void FindAllFileAndDel(string path)
{
DirectoryInfo[] ChildDirectory;//子目录集
FileInfo[] NewFileInfo;//当前所有文件
DirectoryInfo FatherDirectory = new DirectoryInfo(path); //当前目录
ChildDirectory = FatherDirectory.GetDirectories("*.*"); //得到子目录集
NewFileInfo = FatherDirectory.GetFiles();//得到文件集,可以进行操作
foreach (FileInfo fileinfo in FatherDirectory.GetFiles("*.*"))
{
//DateTime dt = Convert.ToDateTime("2007-12-31");
DateTime dt = DateTime.Now.Date; if(fileinfo.LastAccessTime.AddDays(90)<dt)//假如最后访问时间是90天之前则删除
{
fileinfo.Delete();
delcount = delcount + 1;
}
}
foreach (DirectoryInfo dirInfo in ChildDirectory)
{
FindAllFileAndDel(dirInfo.FullName);
}
} private void button1_Click(object sender, EventArgs e)
{
FindAllFileAndDel(foldertextBox.Text);
label2.Text = delcount.ToString();
}
以上的代码如果遍历本机无力硬盘分区没有问题,但如果用来删除映射到本机的网络硬盘上的文件则无效,哪里出的问题呢?
直接在folderBrowserDialog控件中选择这个驱动器下要遍历的文件夹!应该可以的~~