[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖
本帖最后由 pcl_test 于 2016-11-4 22:00 编辑

vbs,修改自http://www.bathome.net/viewthread.php?tid=2914
  1. Set fso = CreateObject("Scripting.FileSystemObject")
  2. TreePath = "."  '指定文件夹/目录路径,默认为当前文件夹/目录
  3. OutFile = "OutTree.txt"
  4. If TreePath = "." Then Set TreePath = fso.GetFolder(".")
  5. fs = 0:For Each f In TreePath.Files
  6.     fs = fs+f.size
  7. Next
  8. TreeStr = TreePath.path & "  (" & TreePath.SubFolders.Count & _
  9.     " folders, "& TreePath.Files.Count &" files, "&FormatSize(fs) & _
  10.         ", "& FormatSize(TreePath.Size) & " in total.)" & vbCrLf
  11. Tree TreePath.path,""
  12. fso.CreateTextFile(OutFile, True).Write TreeStr
  13. MsgBox "查看当前目录下的OutTree.txt",vbInformation,"完成 - vbsTree"
  14. Sub Tree(Path,SFSpace)
  15.     Dim i,TempStr,FlSpace,fsize
  16.     FlSpace = SFSpace & "  "
  17.     Set CrntFolder = fso.GetFolder(Path)
  18.     i = 0:TempStr = "├─"
  19.     For Each ConFile In CrntFolder.Files
  20.         i = i + 1
  21.         If i = CrntFolder.Files.Count And CrntFolder.SubFolders.Count = 0 Then TempStr = "└─"
  22.         TreeStr = TreeStr & FlSpace & Tempstr & ConFile.name & "  (" & FormatSize(ConFile.size) & ")" & vbCrLf
  23.     Next
  24.     i = 0:TempStr = "├─"
  25.     For Each SubFolder In CrntFolder.SubFolders
  26.         fsize = 0:i = i + 1
  27.         If i = CrntFolder.SubFolders.Count Then
  28.             TempStr = "└─"
  29.             SFSpace = FlSpace & "  "
  30.         Else
  31.             SFSpace = FlSpace & "│"
  32.         End If
  33.         For Each f In SubFolder.Files
  34.             fsize = fsize+f.size
  35.         Next  
  36.         TreeStr = TreeStr & FlSpace & TempStr & SubFolder.name & "  (" & SubFolder.SubFolders.Count & _
  37.             " folders, "& SubFolder.Files.Count &" files, "& FormatSize(fsize) & _
  38.                 ", "& FormatSize(SubFolder.size) & " in total.)" & vbCrLf
  39.         Tree SubFolder,(SFSpace)
  40.     Next
  41. End Sub
  42. Function FormatSize(size)
  43.     If size >= 1099511627776 Then
  44.         FormatSize = FormatNumber(size/1099511627776, 2, true) & " TB"
  45.     ElseIf size >= 1073741824 Then
  46.         FormatSize = FormatNumber(size/1073741824, 2, true) & " GB"
  47.     ElseIf size >= 1048576 Then
  48.         FormatSize = FormatNumber(size/1048576, 2, true) & " MB"
  49.     ElseIf size >= 1024 Then
  50.         FormatSize = FormatNumber(size/1024, 2, true) & " KB"
  51.     Else
  52.         FormatSize = size & " Bytes"   
  53.     End If
  54. End Function
复制代码
1

评分人数

    • Bella: 乐于助人技术 + 1

TOP

返回列表