Visual Studio 2010 C# を使用します。Microsoft ではなく、自分のソフトウェアによって配置された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 つは という名前です。2番目の名前は..(コマンドプロンプトdirにあまり慣れていないので、それらが一時的な名前なのか、実際のディレクトリ名なのかわかりません)0ファイルと0バイトの両方です。
オブジェクトを見てデバッグするとFileInfo[]
、コマンド プロンプトから見つかった非表示のファイルが取得されません。
ファイル/ディレクトリを削除する方法はありますか?