C#批量删除指定文件夹下指定文件名的所有文件夹
2010-05-19 12:37
239 查看
private void DeleteDirByName(string rootPath, string name)
{
string dirName = rootPath;
if(rootPath.EndsWith("//")||rootPath.EndsWith("/"))
{
rootPath = rootPath.Substring(0,rootPath.Length-1);
}
int indexSplit = rootPath.LastIndexOf('//');
if(indexSplit<0)
{
indexSplit = rootPath.LastIndexOf('/');
}
if(indexSplit>0)
{
dirName = rootPath.Substring(indexSplit + 1);
}
if (dirName.ToLower() == name.ToLower())
{
this.SetFileAttributes(rootPath);
Directory.Delete(rootPath, true);
this.textBox3.Text += rootPath + Environment.NewLine;
}
else
{
string[] subDirs = Directory.GetDirectories(rootPath);
foreach (string subDir in subDirs)
{
this.DeleteDirByName(subDir, name);
}
}
}
private void SetFileAttributes(string path)
{
string[] files = Directory.GetFiles(path);
foreach (string file in files)
{
File.SetAttributes(file, FileAttributes.Normal);
}
string[] subDirs = Directory.GetDirectories(path);
foreach (string subDir in subDirs)
{
this.SetFileAttributes(subDir);
}
}
{
string dirName = rootPath;
if(rootPath.EndsWith("//")||rootPath.EndsWith("/"))
{
rootPath = rootPath.Substring(0,rootPath.Length-1);
}
int indexSplit = rootPath.LastIndexOf('//');
if(indexSplit<0)
{
indexSplit = rootPath.LastIndexOf('/');
}
if(indexSplit>0)
{
dirName = rootPath.Substring(indexSplit + 1);
}
if (dirName.ToLower() == name.ToLower())
{
this.SetFileAttributes(rootPath);
Directory.Delete(rootPath, true);
this.textBox3.Text += rootPath + Environment.NewLine;
}
else
{
string[] subDirs = Directory.GetDirectories(rootPath);
foreach (string subDir in subDirs)
{
this.DeleteDirByName(subDir, name);
}
}
}
private void SetFileAttributes(string path)
{
string[] files = Directory.GetFiles(path);
foreach (string file in files)
{
File.SetAttributes(file, FileAttributes.Normal);
}
string[] subDirs = Directory.GetDirectories(path);
foreach (string subDir in subDirs)
{
this.SetFileAttributes(subDir);
}
}
相关文章推荐
- linux 删除所有文件夹下指定文件名的文件
- php删除指定文件/获取文件夹的所有文件名
- C#批量删除指定文件夹下指定文件名的所有文件夹
- 删除指定文件夹中的所有文件(递归删除)
- asp.net 删除文件夹,指定文件夹,删除文件夹和所有文件,删除权限设置,递归删除文件夹目录及文件
- python打印出指定目录下的所有文件夹和文件名(递归实现)
- win7基础 cmd del+*.扩展名 删除指定文件夹下的同一类型的所有文件
- 删除指定目录下的所有文件和文件夹
- Java删除指定路径下所有文件和文件夹
- 遍历指定文件下所有的文件夹和文件的路径,文件名,修改日期,类型
- 递归删除指定目录下的指定文件夹及其所有文件
- 通过递归查询指定目录下的所有文件和子文件夹下的指定文件名
- 通过递归查询指定目录下的所有文件和子文件夹下的指定文件名
- C++获取指定文件夹下的所有文件名(或路径)
- PHP删除指定目录下所有文件夹以及文件
- winform 删除,清空指定文件夹上的所有文件或文件夹
- linux 删除指定文件夹外的其他所有文件夹
- delphi 删除指定文件夹下所有文件
- VC-获取文件夹中的指定类型的所有文件名和文件大小
- vc++ 读取指定文件夹下所有文件名