分享

VB 怎样搜索并且删除文件夹及文件夹下面的所有文件?

 歪SIR 2011-02-27

Private Const FO_MOVE = &H1
Private Const FO_COPY = &H2
Private Const FO_DELETE = &H3
Private Const FO_RENAME = &H4
Private Const FOF_NOCONFIRMATION = &H10
Private Const FOF_SILENT = &H4
Private Const FOF_NOERRORUI = &H400
Private Declare Function SHFileOperation Lib "shell32.dll" Alias "SHFileOperationA" (lpFileOp As SHFILEOPSTRUCT) As Long
Private Type SHFILEOPSTRUCT
    hwnd  As Long
    wFunc  As Long
    pFrom  As String
    pTo  As String
    fFlags  As Integer
    fAnyOperationsAborted  As Long
    hNameMappings  As Long
    lpszProgressTitle  As String                                                ' only  used  if  FOF_SIMPLEPROGRESS
End Type

'删除文件夹
Public Function KillPath(ByVal sPath As String) As Boolean
    On Error Resume Next
    Dim udtPath   As SHFILEOPSTRUCT
    udtPath.hwnd = 0
    udtPath.wFunc = FO_DELETE
    udtPath.pFrom = sPath
    udtPath.pTo = ""
    udtPath.fFlags = FOF_NOCONFIRMATION Or FOF_SILENT Or FOF_NOERRORUI
    KillPath = Not CBool(SHFileOperation(udtPath))
End Function
'复制文件夹
Public Function CopyPath(ByVal sPath As String, ByVal sTo As String) As Boolean
    On Error Resume Next
    Dim udtPath   As SHFILEOPSTRUCT
    udtPath.hwnd = 0
    udtPath.wFunc = FO_COPY
    udtPath.pFrom = sPath
    udtPath.pTo = sTo
    udtPath.fFlags = FOF_NOCONFIRMATION Or FOF_SILENT Or FOF_NOERRORUI
    CopyPath = Not CBool(SHFileOperation(udtPath))
End Function

Private Sub Command1_Click()
    KillPath "d:\testdel\"
End Sub

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多