佳木斯湛栽影视文化发展公司

主頁 > 知識庫 > vbsTree VBS腳本模擬tree命令

vbsTree VBS腳本模擬tree命令

熱門標簽:呼叫中心市場需求 服務器配置 檢查注冊表項 鐵路電話系統(tǒng) 美圖手機 網站文章發(fā)布 智能手機 銀行業(yè)務
復制代碼 代碼如下:

'-------------vbsTree.vbs------------------------
'描述:用vbs輸出一個文件夾的目錄結構。
'------------------------------------------------
Const Unit4Size = "字節(jié)KBMBGB"
Const OutFile = "OutTree.txt"
Dim theApp,SelPath,TreePath,TreeStr
Set theApp = CreateObject("Shell.Application")
Set SelPath = theApp.BrowseForFolder(0,"請選擇需要列出子項目的路徑",0)
If SelPath Is Nothing Then WScript.Quit
TreePath = SelPath.items.Item.Path
Set SelPathPath = Nothing
Set theApp = Nothing
Dim objFSO
Set objFSO = CreateObject("Scripting.FileSystemObject")
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
MsgBox "查看當前目錄下的OutTree.txt",vbInformation,"完成 - vbsTree"
Sub Tree(Path,SFSpace)
Dim i,TempStr,FlSpace
FlSpace = SFSpace " "
Set CrntFolder = objFSO.GetFolder(Path)
i = 0:TempStr = "├─"
For Each ConFile In CrntFolder.Files
i = i + 1
If i = CrntFolder.Files.Count And CrntFolder.SubFolders.Count = 0 Then TempStr = "└─"
TreeStr = TreeStr FlSpace Tempstr ConFile.name FormatSize(ConFile.size) vbCrLf
Next
i = 0:TempStr = "├─"
For Each SubFolder In CrntFolder.SubFolders
i = i + 1
If i = CrntFolder.SubFolders.Count Then
TempStr = "└─"
SFSpace = FlSpace " "
Else
SFSpace = FlSpace "│"
End If
TreeStr = TreeStr FlSpace TempStr SubFolder.name FormatSize(SubFolder.size) vbCrLf
Tree SubFolder,(SFSpace)
Next
End Sub
Function FormatSize(SZ)
Dim i
Do While SZ > 1024
i = i + 1
SZ = SZ \ 1024
Loop
FormatSize = " (" SZ Mid(Unit4Size,1 + 2 * i,2) ")"
End Function

文件夾瀏覽部分優(yōu)化后的代碼
復制代碼 代碼如下:

'-------------vbsTree.vbs------------------------
'描述:用vbs輸出一個文件夾的目錄結構。
'------------------------------------------------
Const Unit4Size = "字節(jié)KBMBGB"
Const OutFile = "OutTree.txt"
Dim TreePath,TreeStr,WS
Set WS = WScript.CreateObject("WScript.Shell")
TreePath = BFF("請選擇需要列出子項目的路徑",H0001 + H0008 + H0010,"")
Set WS = Nothing
If Len(TreePath) = 0 Then WScript.Quit
If Len(TreePath) = 3 Then MsgBox "無法處理根目錄!",64,"提示":WScript.Quit

Dim objFSO
Set objFSO = CreateObject("Scripting.FileSystemObject")
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
MsgBox "查看當前目錄下的OutTree.txt",vbInformation,"完成 - vbsTree"
Sub Tree(Path,SFSpace)
Dim i,TempStr,FlSpace
FlSpace = SFSpace " "
Set CrntFolder = objFSO.GetFolder(Path)
i = 0:TempStr = "├─"
For Each ConFile In CrntFolder.Files
i = i + 1
If i = CrntFolder.Files.Count And CrntFolder.SubFolders.Count = 0 Then TempStr = "└─"
TreeStr = TreeStr FlSpace Tempstr ConFile.name FormatSize(ConFile.size) vbCrLf
Next
i = 0:TempStr = "├─"
For Each SubFolder In CrntFolder.SubFolders
i = i + 1
If i = CrntFolder.SubFolders.Count Then
TempStr = "└─"
SFSpace = FlSpace " "
Else
SFSpace = FlSpace "│"
End If
TreeStr = TreeStr FlSpace TempStr SubFolder.name FormatSize(SubFolder.size) vbCrLf
Tree SubFolder,(SFSpace)
Next
End Sub
Function FormatSize(SZ)
Dim i
Do While SZ > 1024
i = i + 1
SZ = SZ \ 1024
Loop
FormatSize = " (" SZ Mid(Unit4Size,1 + 2 * i,2) ")"
End Function


Function BFF(title, flag, dir)
On Error Resume Next
Dim oShell, oItem, oStr
Set oShell = WScript.CreateObject("Shell.Application")
Set oItem = oShell.BrowseForFolder(H0, title, flag, dir)
oStr = oItem.Title
If Err > 0 Then
Set oShell = Nothing
Set oItem = Nothing
Exit Function
End If

If InStr(oStr, ":") Then
BFF = mid(oStr,InStr(oStr, ":")-1, 2)
Else
Select Case oStr
Case "桌面"
BFF = WS.SpecialFolders("Desktop")
Case "我的文檔"
BFF = WS.SpecialFolders("MyDocuments")
Case "我的電腦"
MsgBox "無效目錄!",64,"提示":WScript.Quit
Case "網上鄰居"
MsgBox "無效目錄!",64,"提示":WScript.Quit
Case Else
BFF = oItem.ParentFolder.ParseName(oItem.Title).Path
End Select
End If
Set oShell = Nothing
Set oItem = Nothing
If Right(BFF,1)> "\" Then
BFF = BFF "\"
End If
On Error GoTo 0
End Function

標簽:樂山 河南 沈陽 長治 紅河 滄州 上海 新疆

巨人網絡通訊聲明:本文標題《vbsTree VBS腳本模擬tree命令》,本文關鍵詞  ;如發(fā)現本文內容存在版權問題,煩請?zhí)峁┫嚓P信息告之我們,我們將及時溝通與處理。本站內容系統(tǒng)采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 收縮
    • 微信客服
    • 微信二維碼
    • 電話咨詢

    • 400-1100-266
    准格尔旗| 峨山| 保山市| 兴仁县| 合江县| 潮州市| 新干县| 黎城县| 石阡县| 临江市| 澄江县| 朝阳市| 永平县| 大悟县| 弥勒县| 鄂伦春自治旗| 通州区| 济宁市| 仁寿县| 且末县| 靖边县| 类乌齐县| 措美县| 夏河县| 大港区| 福建省| 黄石市| 博罗县| 漳平市| 调兵山市| 黄骅市| 昂仁县| 民丰县| 濮阳市| 稷山县| 丹棱县| 九寨沟县| 桃园市| 河北省| 松桃| 建宁县|