FileSystemObject Folder Size

09/02/2010 - 10:22 von Lüchinger Engelbert | Report spam
Hallo NG!

Ich versuche mittels dem FileSystemObject die Grösse mehrerer Ordner
anzuzeigen.

Set objFileSystemObject = CreateObject("Scripting.FileSystemObject")
Set objParentFolder = objFileSystemObject.GetFolder(strParentFolder)
Set colSubfolders = objParentFolder.Subfolders
For Each objSubfolder In colSubfolders
Wscript.Echo(objSubfolder.Name & ": " & Round(objSubfolder.Size / (1024 *
1024)))
Next

Nun sind die Ordner zum Teil gross (200GB und mehr). Trifft das Script so
einen Ordner erhalte ich die Meldung "Path not found".
Denke das das Size Property an die Grenze kommt.

Gibt es dazu eine Lösung oder Alternative?
 

Lesen sie die antworten

#1 Pegasus [MVP]
10/02/2010 - 20:15 | Warnen spam
"Lüchinger Engelbert" said this in news
item news:
Hallo NG!

Ich versuche mittels dem FileSystemObject die Grösse mehrerer Ordner
anzuzeigen.

Set objFileSystemObject = CreateObject("Scripting.FileSystemObject")
Set objParentFolder = objFileSystemObject.GetFolder(strParentFolder)
Set colSubfolders = objParentFolder.Subfolders
For Each objSubfolder In colSubfolders
Wscript.Echo(objSubfolder.Name & ": " & Round(objSubfolder.Size / (1024
* 1024)))
Next

Nun sind die Ordner zum Teil gross (200GB und mehr). Trifft das Script so
einen Ordner erhalte ich die Meldung "Path not found".
Denke das das Size Property an die Grenze kommt.

Gibt es dazu eine Lösung oder Alternative?




Ich hatte kein Problem, einen Ordner von 230 GBytes zu verarbeiten. Ist dies
eine echte oder bloss vermutete Grenze? Wenn sie bloss auf einer Vermutung
beruht, wo liegt sie wirklich? Oder ist es vielleicht so, dass der Hund
anderswo begraben ist? Das folgende Script sollte dir Klarheit verschaffen:
Set objFileSystemObject = CreateObject("Scripting.FileSystemObject")
Set objParentFolder = objFileSystemObject.GetFolder("D:\")
Set colSubfolders = objParentFolder.Subfolders
For Each objSubfolder In colSubfolders
On Error Resume Next
s = Round(objSubfolder.Size / 1024 / 1024)
If Err.number = 0 Then
WScript.Echo Right(" " & s, 10), objSubfolder.Name
Else
WScript.Echo Err.Description & " - " & objSubfolder.Name
End If
On Error Goto 0
Next

Ähnliche fragen