我已經跟着一些其他職位寫一個VBScript將計數/列表/移動/無論目錄中的所有文件夾或文件,我有一些工作但它有2個限制。VBScript找到#文件夾和文件(和子文件夾!)
1)它不會返回正確的數字(至少不會匹配Windows資源管理器)。 I.E.,我搜索我的C:\,當窗口探索停留時,它返回433個文件夾有+10,000(和一個子文件夾,C:\ Windows,返回2,234)!
2)即使我以管理員身份運行腳本,但在訪問各個位置的文件夾時,我有權限錯誤。
這裏有一個簡單的代碼,是因爲我在測試較小的文件夾,甚至有許多子文件夾,它會工作:
[Option Explicit
'on error resume next
Dim objFolder, objFSO, objSubFolder, iFolders
Set objFSO = CreateObject("Scripting.FileSystemObject")
iFolders = 0
Call CountFolders("C:\Windows")
Sub CountFolders(strPath)
Set objFolder = objFSO.GetFolder(strPath)
For Each objSubFolder In objFolder.SubFolders
iFolders = iFolders + 1
If Right(iFolders, 2) = "00" Then
IF MsgBox(iFolders & " folders found so far.", VBOKCancel) = 2 Then
Wscript.quit
End If
End If
Call CountFolders(objSubFolder.Path)
Next
End Sub
msgbox(iFolders)]
1 我只是推什麼樣的文件系統對象也離不開誰的極限遇到其他問題?
感謝
我應該澄清一點,它會返回正確的數字或更少(它會遺漏一些),並且似乎只在存在非常大的文件夾結構(如我的整個C:\或Windows目錄)時纔會執行此操作。而且,它沒有錯誤。 – DrTarr