我的C:\ TEMP目录中存在许多.bmp文件。
我正在使用以下代码删除我的C:\ TEMP目录中的所有.bmp文件,但不知何故它不能正常工作。任何人都可以帮助我吗?
string[] filePaths = Directory.GetFiles(@"c:\TEMP\");
foreach (string filePath in filePaths)
{
if (filePath.Contains(".bmp"))
File.Delete(filePath);
}
我已经检查过.bmp文件,并且该目录没有只读属性
答案 0 :(得分:13)
对于初学者来说,GetFiles有一个重载,它采用搜索模式http://msdn.microsoft.com/en-us/library/wz42302f.aspx,所以你可以这样做:
Directory.GetFiles(@"C:\TEMP\", "*.bmp");
因为它不起作用,发生了什么? 它找到了什么吗? 它是否会引发任何错误?
答案 1 :(得分:3)
还应该使用.EndsWith而不是.Contains
答案 2 :(得分:-1)
您可以快速编写以下代码:
string[] t = Directory.GetFiles(Environment.CurrentDirectory, "*.pdf");
Array.ForEach(t, File.Delete);
或对于文本文件:
string[] t = Directory.GetFiles(Environment.CurrentDirectory, "*.txt");
Array.ForEach(t, File.Delete);
因此,您可以为所有扩展名和所有目录编写代码。