//〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓★描★述★〓〓〓〓〓〓〓〓〓〓〓〓☆〓〓//
//——————————————————————<[一只鱼]输出一个文件夹的目录结构>
//〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓★说★明★〓〓〓〓〓〓〓〓〓〓〓〓☆〓〓//
//——————————————————————<创建日期:2009/01/06/14:14:00>
//〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓★常★量★〓〓〓〓〓〓〓〓〓〓〓〓☆〓〓//
Unit4Size = "字节KBMBGB"
OutFile = "OutTree.txt"
Gosub [文件夹]
Gosub [目录结构]
Gosub [选择项目的路径]
Gosub [项目文件大小]
MsgBox "查看当前目录下的OutTree.txt",vbInformation,"完成 - 树状目录"
VBSCall RunApp(OutFile)
EndScript 
//〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓★子程序★〓〓〓〓〓〓〓〓〓〓〓〓☆〓〓//
Sub [选择项目的路径]
    Dim theApp,SelPath,TreePath,TreeStr
    Set theApp = CreateObject("Shell.Application")
    Set SelPath = theApp.BrowseForFolder(0,"请选择需要列出子项目的路径",0)
    If SelPath Is Nothing
        Gosub [脚本停止运行]
    EndIf 
    TreePath = SelPath.items.Item.Path
    Set SelPathPath = Nothing
    Set theApp = Nothing
Return 
Sub [项目文件大小]
    Dim objFSO
    Set objFSO = CreateObject("Scripting.FileSystemObject")
    If objFSO.GetFolder(TreePath).Size=""
        Gosub [脚本停止运行]
    EndIf 
    TreeStr = TreePath & FormatSize(objFSO.GetFolder(TreePath).Size) & vbCrLf
    Tree TreePath,""
    Set objFile = objFSO.CreateTextFile(OutFile,True)
    objFile.Write TreeStr
    objFile.Close
    Set objFile = Nothing
    Set objFSO = Nothing
Return 
Sub [文件夹]
    sk= ""
    sk=sk& VbCrLf & "Function FormatSize(SZ)"
    sk=sk& VbCrLf & "    Dim i"
    sk=sk& VbCrLf & "    Do While SZ > 1024"
    sk=sk& VbCrLf & "        i = i + 1"
    sk=sk& VbCrLf & "        SZ = SZ \ 1024"
    sk=sk& VbCrLf & "    Loop"
    sk=sk& VbCrLf & "    FormatSize = ""  ("" & SZ & Mid(Unit4Size,1 + 2 * i,2) & "")"""
    sk=sk& VbCrLf & "End Function "
    execute(sk)
Return 
Sub [目录结构]
    sk= ""
    sk=sk& VbCrLf & "Sub Tree(Path,SFSpace)"
    sk=sk& VbCrLf & "    Dim i,TempStr,FlSpace"
    sk=sk& VbCrLf & "    FlSpace = SFSpace & ""  """
    sk=sk& VbCrLf & "    Set CrntFolder = objFSO.GetFolder(Path)"
    sk=sk& VbCrLf & "    i = 0:TempStr = ""├─"""
    sk=sk& VbCrLf & "    For Each ConFile In CrntFolder.Files"
    sk=sk& VbCrLf & "        i = i + 1"
    sk=sk& VbCrLf & "        If i = CrntFolder.Files.Count And CrntFolder.SubFolders.Count = 0 Then TempStr = ""└─"""
    sk=sk& VbCrLf & "        TreeStr = TreeStr & FlSpace & Tempstr & ConFile.name & FormatSize(ConFile.size) & vbCrLf"
    sk=sk& VbCrLf & "    Next"
    sk=sk& VbCrLf & "    i = 0:TempStr = ""├─"""
    sk=sk& VbCrLf & "    For Each SubFolder In CrntFolder.SubFolders"
    sk=sk& VbCrLf & "        i = i + 1"
    sk=sk& VbCrLf & "        If i = CrntFolder.SubFolders.Count Then"
    sk=sk& VbCrLf & "            TempStr = ""└─"""
    sk=sk& VbCrLf & "            SFSpace = FlSpace & ""  """
    sk=sk& VbCrLf & "        Else"
    sk=sk& VbCrLf & "            SFSpace = FlSpace & ""│"""
    sk=sk& VbCrLf & "        End If"
    sk=sk& VbCrLf & "        TreeStr = TreeStr & FlSpace & TempStr & SubFolder.name & FormatSize(SubFolder.size) & vbCrLf"
    sk=sk& VbCrLf & "        Tree SubFolder,(SFSpace)"
    sk=sk& VbCrLf & "    Next"
    sk=sk& VbCrLf & "End Sub"
    execute(sk)
Return 
Sub [脚本停止运行]
EndScript 
Return [脚本停止运行]
//〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓★备★注★〓〓〓〓〓〓〓〓〓〓〓〓☆〓〓//
//【作 者】一只鱼               【QQ群】5619170
//【E-Mail】ChapterRain@yahoo.com.cn      【致谢】欢迎使用鱼鱼制作的插件!!
//〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓★结★束★〓〓〓〓〓〓〓〓〓〓〓〓☆〓〓//