如何删除备份文件

时间:2013-02-27 07:11:37

标签: c# file delete-file

我需要使用" .bak"删除文件和" .csv.bak"扩展。我使用.net c#。

我试过这样:

        string srcDir = @"D:\Backup";

        string[] bakList = Directory.GetFiles(srcDir,".bak");

        if (Directory.Exists(srcDir))
        {
            foreach (string f in bakList)
            {
                File.Delete(f);
            }
        }

但是在调试时,bakList数组是空的。

Directory.GetFiles()未加载数组中的文件名。我无法弄清楚我的编码有什么问题。

2 个答案:

答案 0 :(得分:2)

您需要在*

中的.bak之前添加GetFiles()
string srcDir = @"D:\Backup";
string[] bakList = Directory.GetFiles(srcDir,"*.bak");

if (Directory.Exists(srcDir))
{
    foreach (string f in bakList)
    {
        File.Delete(f);
    }
}

如果您需要搜索这两种类型,可能效果更好

var files = Directory.GetFiles(srcDir, "*.*")
            .Where(s => s.EndsWith(".bak"));

答案 1 :(得分:0)

如果您的文件名是

" Data Logger [2] .csv.bak", 转到属性并检查文件类型。它会是这样的

" 1档案(.1)" 。该文件的编号为结尾扩展名。所以我这样用过。

string [] bk = Directory.GetFiles(srcDir," * .bak。 * ");

foreach(字符串f in bk)             {                 File.Delete(F);             }

它的工作......