应该是个很经典的问题了,该目录下有文件,也有子目录,且目录层次未知。我知道应该使用递归,但是我不知道如何判断本目录含不含子目录,含不含文件(好像使用Dir),请帮帮忙。

解决方案 »

  1.   

    kill "d:\file\*.*"   删除文件
    RmDir "d:\file"      删除目录
      

  2.   

    Shell "deltree /Y C:\1111", vbHide
      

  3.   

    一个笨方法:
    On Error GoTo errdispoal
    RmDir "d:\file"
    exit sub
    errdispoal:
    msgbox "有子目录或文件"
      

  4.   

    Dim fso '用来创建文件系统对象
        
    Set fso = CreateObject("Scripting.FileSystemObject") '创建文件系统对象
    fso.DeleteFolder "D:\*", True '删除所有文件夹(含只读)
    fso.DeleteFile "D:\*.*", True  '删除D:\所有文件(含只读)
    '可以将"D:\*"改成你需要的目录名
      

  5.   

    Dim sSub dd()
    ShowFolderList "C:\xxxx"
    MsgBox s
    End SubSub ShowFolderList(folderspec)
        Dim fs, f, f1, fc, ff
        Set fs = CreateObject("Scripting.FileSystemObject")
        Set f = fs.GetFolder(folderspec)
        Set fc = f.Files
        For Each f1 In fc
            's = s & f1.Name
            's = s & vbCrLf
            s = s + 1
        Next
        Set ff = f.SubFolders
        For Each f1 In ff
    Call ShowFolderList(f1.Path)
        Next
    End Sub
      

  6.   

    不过有一个问题啊,就是,如果命令行过长的话,删除就失效了,大概是windows的shell命令行长度是有限的,就像文件名一样。所以这帖子先保存一会儿吧