59

実行時に特定のフォルダーにファイルを保存します。しばらくして、プログラムで削除したいと思います。特定のフォルダからすべてのファイルを削除するにはどうすればよいですか?

4

6 に答える 6

138
string[] filePaths = Directory.GetFiles(@"c:\MyDir\");
foreach (string filePath in filePaths)
File.Delete(filePath);

または1行で:

Array.ForEach(Directory.GetFiles(@"c:\MyDir\"), File.Delete);
于 2012-09-06T09:32:47.033 に答える
15

FileInfoまたはDirectoryInfoを介してそれを行うことができます:

DirectoryInfo di = new DirectoryInfo("TempDir");
di.Delete(true);

そして、ディレクトリを再作成します

于 2012-09-06T09:33:53.697 に答える
9
System.IO.DirectoryInfo myDirInfo = new DirectoryInfo(myDirPath);

foreach (FileInfo file in myDirInfo.GetFiles())
{
    file.Delete(); 
}
foreach (DirectoryInfo dir in myDirInfo.GetDirectories())
{
    dir.Delete(true); 
}
于 2012-09-06T09:34:18.217 に答える
5

次の名前空間を追加します。

using System.IO;

Directoryクラスを使用して特定のフォルダにアクセスします。

string[] fileNames = Directory.GetFiles(@"your directory path");
foreach (string fileName in fileNames)
    File.Delete(fileName);
于 2012-09-06T09:33:04.580 に答える
3

これを試して:

foreach (string file in Directory.GetFiles(@"c:\directory\"))
  File.Delete(file);
于 2012-09-06T09:33:40.853 に答える
0

あなたは次のようなことをすることができます:

Directory directory = new DirectoryInfo(path);
List<FileInfo> fileInfos = directory.EnumerateFiles("*.*", SearchOption.AllDirectories).ToList();
foreach (FileInfo f in fileInfos)
    File.Delete(f.FullName);
于 2012-09-06T09:34:03.017 に答える