c# - File.Delete 访问路径被拒绝

标签 c# file

我的控制台应用程序在运行时正在创建一些运行时文件,所以我想做的是在应用程序启动时删除所有这些文件。我试过这个:

public static void Empty(string targetDir)
{
    var directory = new DirectoryInfo(targetDir);
    if (!directory.Exists) return;
    foreach (var file in directory.GetFiles()) file.Delete();
    foreach (var subDirectory in directory.GetDirectories()) subDirectory.Delete(true);
}

...只是在给定路径(在程序执行路径的子目录中)中查找所有文件/文件夹,然后删除它们。但是,我得到以下异常:

Access to the path 'file' is denied.

我尝试以管理员身份运行该程序,但没有成功;但是,我想要一个无需管理员权限即可运行的解决方案。

注释:

  1. 该文件未在其他应用程序中运行。
  2. 文件不在 protected 文件夹中。
  3. 可以毫无问题地手动删除该文件,这就是为什么我 我在这里。

最佳答案

我得到这个错误,发现这是因为我的测试文件是只读的。更改了这个,我现在可以使用 fileinfo 删除它们,不用担心。

关于c# - File.Delete 访问路径被拒绝,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15260146/

相关文章:

C# ref 是像 C/C++ 中的指针还是 C++ 中的引用?

c# - 如何使用 EPPlus 将 excel 行解析回类型

c# - Elasticsearch-Nest-特定搜索

python - 如何检查路径是现有的常规文件而不是目录?

c# - 将匿名类型作为强类型返回

c# - 不存在从对象类型 System.Web.UI.WebControls.TextBox 到已知托管提供程序 native 类型的映射

java - 从 java 文件中读取 N 行?

c - C 文件处理中的错误

Java文件删除失败

java - 无法读取 ZipFile.getInputStream(ZipEntry) 方法返回的 ZipInputStream