删除c#临时文件夹中的文件

本文关键字:文件 文件夹 删除 | 更新日期: 2023-09-27 18:10:18

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

我试过使用这个:

 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命名空间,我也试图寻找教程,但我没有发现他们有用。

删除c#临时文件夹中的文件

如果你想删除临时文件夹中的所有文件,我会这样做

        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);
        }

string userName = Environment.UserName;

        var dir = new DirectoryInfo("C:''Users''"+userName+ "''AppData''Local''Temp");
        var d = new DirectoryInfo("C:''Windows''Temp");
       foreach (var file in Directory.GetFiles(d.ToString()))
        {
            File.Delete(file);
        }

Btw它说无法识别的转义序列,因为你有一个斜杠错误的方式。应该是这样的:

string strCmdText;
            strCmdText = "del /q/f/s %TEMP%/* ";
            System.Diagnostics.Process.Start("CMD.exe", strCmdText);