2

ボタンをクリックすると、「C:\」ドライブ(およびすべてのサブディレクトリ、読み取り専用かどうか)をスキャンし、特定のファイル拡張子を持つすべてのファイルを削除する、私のアプリケーションの機能に取り組んでいます。どうすればこれを行うことができますか?リストまたは配列が使用されると確信しています...しかし、それは私が知っているすべてです。

.Net フレームワーク 2.0 のみでお願いします!

4

5 に答える 5

1

次のコードが機能すると思います。

using System.IO;

...


string[] extensions = { "*.apa", "*.dip", "*.ep" }; // whatever extensions you care about
foreach (string ext in extensions)
{
     foreach (string file in Directory.GetFiles(@"c:\", ext, SearchOption.AllDirectories))
     {
          File.SetAttributes(file, FileAttributes.Normal);
          File.Delete(file);
     }
}
于 2010-08-13T09:20:48.343 に答える
1

これを試して:

 DirectoryInfo directoryInfo = new DirectoryInfo(@"directory path");
        foreach (var f in directoryInfo.GetFiles("*.*", SearchOption.AllDirectories))
        {
            f.Delete();
        }
于 2010-08-13T09:22:46.390 に答える
1

ディレクトリ ツリーをたどります。必要なコードはここで説明されています。

于 2010-08-13T09:10:20.333 に答える
1
foreach (string filename in Directory.EnumerateFiles(@"C:\", "*.xxx", SearchOption.AllDirectories)
{
    File.Delete(filename);
}
于 2010-08-13T09:10:55.747 に答える
1
foreach (String file in Directory.GetFiles("c:\\","*.iddqd", SearchOption.AllDirectories) )
        File.Delete (file);
于 2010-08-13T09:11:45.510 に答える