kousalyarajan
kousalyarajan

Reputation: 41

How to delete back up files

I need to delete files with ".bak" and ".csv.bak" extensions. I use .net c#.

I tried like this:

        string srcDir = @"D:\Backup";

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

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

But when debugging, the bakList array is empty.

Directory.GetFiles() is not loading the file names in the array. I cant figure out what is wrong in my coding.

Upvotes: 0

Views: 983

Answers (2)

kousalyarajan
kousalyarajan

Reputation: 41

If your file name is

"Data Logger[2].csv.bak", go to the properties and check the type of file. it will be something like this

"1 File (.1)" .The file has number as its end extension. So i used like this.

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

foreach (string f in bk) { File.Delete(f); }

its working...

Upvotes: 0

Maryam Arshi
Maryam Arshi

Reputation: 2024

You need to Add * before your .bak in GetFiles()

string srcDir = @"D:\Backup";
string[] bakList = Directory.GetFiles(srcDir,"*.bak");

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

If you need to search for both types maybe it works better

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

Upvotes: 2

Related Questions