如何删除特定文件夹中的所有文件?

Mic*_*ael 59 .net c#

我在运行时将文件保存在特定文件夹中.过了一段时间,我想以编程方式删除它们.如何删除特定文件夹中的所有文件?

Clo*_*ble 137

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

或者在一行中:

Array.ForEach(Directory.GetFiles(@"c:\MyDir\"), File.Delete);
Run Code Online (Sandbox Code Playgroud)

  • 使用方法组的语法更短:`Array.ForEach(Directory.GetFiles(@"c:\ MyDir \"),File.Delete);` (23认同)
  • VB:Array.ForEach(Directory.GetFiles(folderPath),Sub(x)File.Delete(x)) (2认同)

Rvd*_*vdK 15

您可以通过FileInfoDirectoryInfo来完成:

DirectoryInfo di = new DirectoryInfo("TempDir");
di.Delete(true);
Run Code Online (Sandbox Code Playgroud)

然后重新创建目录

  • 好的,但是如果这个目录具有特定用户的权限,你就会失去它们. (6认同)

LaG*_*ere 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); 
}
Run Code Online (Sandbox Code Playgroud)


Tal*_*lha 5

添加以下命名空间,

using System.IO;
Run Code Online (Sandbox Code Playgroud)

并使用Directory该类到达特定文件夹:

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