.net 如何从文件夹中删除特定类型的所有文件

.net 如何从文件夹中删除特定类型的所有文件,.net,vb.net,.net,Vb.net,我使用以下代码删除特定文件夹中的所有文件: Sub DeleteFilesFromFolder(Folder As String) If Directory.Exists(Folder) Then For Each _file As String In Directory.GetFiles(Folder) File.Delete(_file) Next For Each _folder As String In Di

我使用以下代码删除特定文件夹中的所有文件:

Sub DeleteFilesFromFolder(Folder As String)
    If Directory.Exists(Folder) Then
        For Each _file As String In Directory.GetFiles(Folder)
            File.Delete(_file)
        Next
        For Each _folder As String In Directory.GetDirectories(Folder)

            DeleteFilesFromFolder(_folder)
        Next

    End If

End Sub
调用函数:

DeleteFilesFromFolder("C:\New Folder")
现在,我想从新文件夹中删除所有
*.pdf
文档。如何仅从文件夹(包括子文件夹)中删除
*.pdf
文件?

目录.GetFiles()
允许您应用搜索模式并返回与此模式匹配的文件

Sub DeleteFilesFromFolder(Folder As String)
    If Directory.Exists(Folder) Then
        For Each _file As String In Directory.GetFiles(Folder, "*.pdf")
            File.Delete(_file)
        Next
        For Each _folder As String In Directory.GetDirectories(Folder)
            DeleteFilesFromFolder(_folder)
        Next
    End If
End Sub

查看MSDN链接了解更多信息:

在继续删除之前,只需检查扩展名即可

Sub DeleteFilesFromFolder(Folder As String)
If Directory.Exists(Folder) Then
    For Each _file As String In Directory.GetFiles(Folder)
       If System.IO.Path.GetExtension(_file) = ".pdf" Then  ' Check extension
          File.Delete(_file)
       End If
    Next
    For Each _folder As String In Directory.GetDirectories(Folder)
        DeleteFilesFromFolder(_folder)
    Next
End If
End Sub

Directory.GetFile应返回包含扩展名的文件名。如果是这样,它将像
如果_file.contains(“.pdf”)那么file.Delete(_file)如果
那么结束一样简单。或者,向GetFile添加一个过滤器