我的控制台应用程序在工作时正在创建一些运行时文件,所以我想做的是在应用程序启动时删除所有这些文件。我试过这个:
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);
}
...只是在给定路径(位于程序执行路径的子目录中)中查找所有文件/文件夹,然后将其删除。但是,我得到以下异常:
拒绝访问路径“文件”。
我试图以管理员身份运行该程序,但没有成功;但是,我想要一个无需使用管理员权限即可工作的解决方案。
备注:
- 该文件未在其他应用程序中运行。
- 该文件不在受保护的文件夹中。
- 该文件可以毫无问题地手动删除,这就是我在这里的原因。