开发者

Delete specific files in directory using C#

There are many .bmp files present in my C:\TEMP directory.

I am using following code to delete all .bmp file in my C:\TEMP directory but somehow its not work开发者_开发知识库ing as I expect. Can anyone help me in this?

string[] filePaths = Directory.GetFiles(@"c:\TEMP\");
foreach (string filePath in filePaths)
{
    if (filePath.Contains(".bmp"))
        File.Delete(filePath);
}

I have already checked that .bmp file and the directory has no read only attribute


For starters, GetFiles has an overload which takes a search pattern http://msdn.microsoft.com/en-us/library/wz42302f.aspx so you can do:

Directory.GetFiles(@"C:\TEMP\", "*.bmp");

Edit: For the case of deleting all .bmp files in TEMP:

string[] filePaths = Directory.GetFiles(@"c:\TEMP\", "*.bmp");
foreach (string filePath in filePaths)
    {
        File.Delete(filePath);
    }

This deletes all .bmp files in the folder but does not access subfolders.


Should also use .EndsWith instead of .Contains


You Could write below code in fast way:

    string[] t = Directory.GetFiles(Environment.CurrentDirectory, "*.pdf");
    Array.ForEach(t, File.Delete);

or For Text Files:

    string[] t = Directory.GetFiles(Environment.CurrentDirectory, "*.txt");
    Array.ForEach(t, File.Delete);

So, You could write code for all extension and all directories.

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜