2015-08-29 178 views
2

我在Visual Studio 2015中工作,我正在使用C#。所以我创建了Windows窗体并添加了一个名为“button1”的按钮。我想要做的是:当用户单击一个按钮时,位于C:/ temp中的名为(让我们说)temp的文件夹的内容将被删除,但临时文件夹仍然为在C#中的临时文件夹中删除文件

我曾尝试使用此:

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

但有人告诉我,所以我没有使用它了这个方法是非常有用的。它也一直抛出一个异常:“无法识别的转义序列”。 我也被告知应该使用System.IO命名空间,我也尝试寻找教程,但是我没有发现它们有用。

+0

看看这个http://stackoverflow.com/questions/8807209/deleting-multiple-files-with-wildcard – Andrey

+0

谢谢,但我实际上试图做的是删除某些文件夹中的所有文件,无论其扩展名。 –

+0

使用“**。**”作为文件名 – Andrey

回答

2

如果您是在寻找删除临时文件夹中的所有文件,我会做这样的事

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

,或者,如果你正在寻找删除某些文件或文件类型使用类似这样

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