SharpDevelop を使用して C# プログラムを作成しています (コンソールではありません)。指定したディレクトリ内のファイルを削除したいのですが、特定の単語の先頭、末尾、または含むファイルを除外できます。
これを使用しているフォルダー内のすべてのファイルを完全に削除するには:
private void clearFolder(string FolderName)
{
DirectoryInfo dir = new DirectoryInfo(FolderName);
foreach(FileInfo fi in dir.GetFiles())
{
fi.Delete();
}
foreach (DirectoryInfo di in dir.GetDirectories())
{
clearFolder(di.FullName);
di.Delete();
}
}
みたいに使ってます
ClearFolder("NameOfFolderIWantToEmpty");
特定の単語を含むファイルとディレクトリを除くすべてのファイルとディレクトリを削除できるように、これを変更する方法はありますか?
何かのようなもの :
CleanFolder(FolderToEmpty,ExcludeAllFileAndDirectoriesContaingThisPhrase);
私がした場合
CleanFolder("MyTestFolder","_blink");
次のような名前のファイルとディレクトリは削除しません
_blinkOne (file)
Test_blineGreen (file)
Test_blink5 (directory)
_blinkTwo (file within the Text_blink5 directory)
Folder_blink (empty directory)
しかし、次のようなファイルとディレクトリを削除します
test (file)
test2 (directory)
test3_file (file within test2 directory)
test4 (empty directory)
各ファイルとディレクトリを繰り返し処理し、一致するフィルターを一度に1つずつ確認し、一致しない場合は削除する必要があると思いますが、その方法がわかりません。
何かとFileInfo()
おそらくDirectoryInfo()
?
誰かが実際の例を提供して助けてくれますか? (上記の修正版が望ましいですが、外部の dll を必要としない限り、新しいメソッドが必要な場合は問題ありません。