c#+asp.net如何删除指定路径下的文件和文件夹

2025-03-18 12:08:07
推荐回答(1个)
回答1:

.net提供了一个静态类Directory 用以处理文件夹相关操作 要删除指定路径下的文件和文件夹的话 可以使用Directory.Exists方法判断该路径是否存在 如果存在使用Directory.GetDirectories获取该路径下所有子文件夹 通过遍历使用Directory.Delete方法删除  再通过Directory.GetFiles获取该路径下所有文件 遍历使用File.Delete方法删除 具体代码如下

if(Directory.Exists(yourPath))
{
   //获取指定路径下所有文件夹
   string[] folderPaths = Directory.GetDirectories(yourPath);
   
   foreach(string folderPath in folderPaths)
           Directory.Delete(folderPath, true);
   //获取指定路径下所有文件
   string[] filePaths = Directory.GetFiles(yourPath);

   foreach(string filePath in filePaths)
           File.Delete(filePath);
}


如果你需要连你指定的文件夹一起删除 就简单的多 如下

if(Directory.Exists(yourPath))
   Directory.Delete(yourPath,true);

上述两例中的yourPath应为指定文件夹的路径 如: D:\test  第一例则会删除test文件夹下的所有子项 第二例则是test文件夹及其子项一起删除 需要注意的是Directory.Delete方法有两个重载 举例说明:

Directory.Delete(yourPath); //如果yourPath有子项 则删除失败 抛出异常
Directory.Delete(yourPath,true); //第二个为bool类型参数 表示是否需要使用递归删除

补充说明 如果只是需要删除文件 就使用File类 如下

if(File.Exists(filePath))
   File.Delete(filePath)

上例中的filePath为文件的完整路径 如: C:\test\test.txt