【问题标题】:How do you delete all files from the windows Temp folder using C#? (When the processes are running)如何使用 C# 从 Windows Temp 文件夹中删除所有文件? (进程运行时)
【发布时间】:2021-12-04 05:02:50
【问题描述】:
private void Clean_btn_Click(object sender, EventArgs e)
{
    Process processes = new Process();

    var temp_path = @"C:\Windows\Temp";
    var temp_files = Directory.GetDirectories(temp_path, "*.*", SearchOption.AllDirectories);
    foreach (var temp_file in temp_files)
    {
        Process.GetProcesses();
        processes.Kill();
        File.Delete(temp_file);
    }
}

我正在尝试从 Windows 的 Temp 文件夹中删除所有文件和文件夹。但它会抛出进程正在运行的错误。

【问题讨论】:

  • 我似乎不是一个好主意。即使有可能,杀死进程只是为了删除他们自己工作所需的文件似乎是系统崩溃的正确途径。这样做的原因是什么?
  • 这听起来像XY problem。你真正想做什么?
  • 只是好奇——如果您编写了一个需要使用临时文件夹中文件的应用程序,而其他一些应用程序出现并在您的应用程序仍在尝试使用它们时删除了它们,您会怎么做?首先想到的是?

标签: c# .net windows process


【解决方案1】:

这很可能是不可能的。删除正在运行的进程也可能会终止 C++,因此您的脚本将无法运行。

【讨论】:

    猜你喜欢
    • 2019-12-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-06-02
    • 2011-06-03
    • 1970-01-01
    • 2011-11-11
    • 2017-10-07
    相关资源
    最近更新 更多