//〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓★描★述★〓〓〓〓〓〓〓〓〓〓〓〓☆〓〓//
//——————————————————————<[一只鱼]输出一个文件夹的目录结构>
//〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓★说★明★〓〓〓〓〓〓〓〓〓〓〓〓☆〓〓//
//——————————————————————<创建日期: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 【致谢】欢迎使用鱼鱼制作的插件!!
//〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓★结★束★〓〓〓〓〓〓〓〓〓〓〓〓☆〓〓//