使用 Visual Studio 2010 C#。我正在尝试删除我的软件放置在C:/Windows/MyFolderA
那里MyFolderA
的文件夹的文件夹 - 不是微软的。
我已使用此代码删除文件夹的内容和文件夹本身:
foreach (FileInfo tempfi in listOfMSIInstallers)
{
//Delete all Files
DirectoryInfo localDirectoryInfo = new DirectoryInfo(targetDirectory);
FileInfo[] listOfMSIInstallers = localDirectoryInfo.GetFiles("*",SearchOption.AllDirectories);
File.SetAttributes(tempfi.FullName, File.GetAttributes(tempfi.FullName) & ~FileAttributes.ReadOnly); //Remove Read-Only
File.Delete(tempfi.FullName); //Delete File
string parentFolderPath = "C:/Windows/MyFolderA"; //Example string for StackOverflow
//Remove ReadOnly attribute and delete folder
var di = new DirectoryInfo(parentFolderPath);
di.Attributes &= ~FileAttributes.ReadOnly;
Directory.Delete(parentFolderPath);
}
如果我尝试删除该文件夹,则会出现异常
“System.IO.IOException:目录不为空”。
在我的 GUI 上显示不可见文件我看不到任何文件。使用命令提示符查看文件夹似乎有 2 个目录:1 个名为 . 第二个名为 .. (对命令提示符目录不太熟悉,所以我不知道它们是临时名称还是实际的目录名称),均为 0 个文件和 0 个字节。
通过查看FileInfo[]
对象进行调试,它不会抓取从命令提示符中找到的不可见文件。
有什么想法可以删除文件/目录吗?