Hoe verwijder ik alle bestanden uit een specifieke map?

Ik sla bestanden tijdens runtime op in een specifieke map. Na een tijdje wil ik ze programmatisch verwijderen. Hoe verwijder ik alle bestanden uit een specifieke map?


Antwoord 1, autoriteit 100%

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

Of in een enkele regel:

Array.ForEach(Directory.GetFiles(@"c:\MyDir\"), File.Delete);

Antwoord 2, autoriteit 11%

Je kunt het doen via FileInfoof DirectoryInfo:

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

En maak dan de map opnieuw


Antwoord 3, autoriteit 7%

System.IO.DirectoryInfo myDirInfo = new DirectoryInfo(myDirPath);
foreach (FileInfo file in myDirInfo.GetFiles())
{
    file.Delete(); 
}
foreach (DirectoryInfo dir in myDirInfo.GetDirectories())
{
    dir.Delete(true); 
}

Antwoord 4, autoriteit 4%

Voeg de volgende naamruimte toe,

using System.IO;

en gebruik de klasse Directoryom naar de specifieke map te gaan:

string[] fileNames = Directory.GetFiles(@"your directory path");
foreach (string fileName in fileNames)
    File.Delete(fileName);

Antwoord 5, autoriteit 2%

Probeer dit:

foreach (string file in Directory.GetFiles(@"c:\directory\"))
  File.Delete(file);

Antwoord 6

Je kunt zoiets doen als:

Directory directory = new DirectoryInfo(path);
List<FileInfo> fileInfos = directory.EnumerateFiles("*.*", SearchOption.AllDirectories).ToList();
foreach (FileInfo f in fileInfos)
    File.Delete(f.FullName);

Other episodes