Search code examples
c#cmddelete-filetemp

Delete files in temp folder in C#


I am working in Visual Studio 2015 and I am using C#. So I created Windows Form and I added a button named "button1". What I am trying to do is: when user clicks a button, the content of folder, named ( let´s say ) temp, located in C:/temp, is deleted, but the temp folder still remains.

I have tried to use this:

 private void button1_Click(object sender, EventArgs e)
    {
        string strCmdText;
        strCmdText = "del /q/f/s %TEMP%\* ";
        System.Diagnostics.Process.Start("CMD.exe", strCmdText);
    }

But I was told that this method is useful so I didn't use it anymore. And it also kept throwing an exception: "Unrecognized escape sequence". I was also told I should use System.IO namespace, I also tried to look for tutorials but I didn't find them useful.


Solution

  • If youre looking to delete all files within the temp folder i would do something like this

            var dir = new DirectoryInfo("c:\\temp");
            foreach (var file in Directory.GetFiles(dir.ToString()))
            {
                File.Delete(file);
            }
    

    or, if you are looking to delete certain files or types use something like this

            foreach (var file in Directory.GetFiles("c:\\temp", "*.xml", SearchOption.AllDirectories))
            {
                File.Delete(file);
            }