如何关闭另一个进程来释放文件锁?

时间:2013-10-06 04:00:45

标签: c# .net windows file io

我创建了一个按钮。在按钮的事件处理程序中,我想删除文件夹中的所有文件(abc)。

以下是此代码:

    private void button1_Click_1(object sender, EventArgs e)
    {
        MessageBox.Show("Are you sure!!!! The files in the folder will be deleted permanently");
        this.Close();
        string[] filePaths = Directory.GetFiles(@"C:\abc\");
        foreach (string filePath in filePaths)
            File.Delete(filePath);
    }

例如,文件夹中有一个Word文件,如果它被打开,我会收到一条错误消息:

  

进程无法访问文件'C:\ abc \ New Microsoft Word   Document.docx'因为它正被另一个进程使用。

1 个答案:

答案 0 :(得分:1)

您可以使用Process类来查找该进程,强行关闭该程序,然后删除该文件。像这样......

Process [] proc Process.GetProcessesByName("winword");
proc[0].Kill();

但我不建议这样做,因为Windows也不会删除已打开的文件。