Sofia
Wed Aug 16 08:02:48 CDT 2006
Hi Helmut! :)
First of all, break the row "list = list & klasse.size Next" into two rows
like this:
list = list & klasse.size
Next
But what are you trying to find out? If you take size from Win32_LogicalDisk
you get the size of the disc. Is this what you wanted or do you want the
size of the folder?
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/wmisdk/wmi/win32_directory.asp
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/wmisdk/wmi/win32_logicaldisk.asp
The easiest way to get the size of a folder is to use the filesystem object:
strPath = "\\server.domain.com\directory"
Set objFileSystem = CreateObject("Scripting.FileSystemObject")
Set objFolder = objFileSystem.GetFolder(strPath)
WScript.Echo("Folder size: "+CStr(objFolder.Size))
As you see it works well with UNC paths as well. Be aware that the Size()
function fails and you get an error if you don't have full permissions on
all subfolders and files in the directory.
Hope this helps! :)
/Sofia
"Helmut Driessen" <helle@ukaachen.de> wrote in message
news:4kfuieFbvk76U1@news.dfncis.de...
> Hi all,
>
> how can I determine the foldersize using WMI
> Perhaps someone has written such a script before that does this job and
> knows what is wrong.
>
> Thanks in advance
> Helmut
>
> Here is a code excerpt:
>
> server = "myServer"
>
> Set wmi = GetObject("winmgmts://" & server & "/root/cimv2")
>
> Set basis = wmi.get("Win32_Directory.name='s:\myfolder'")
>
> MsgBox basis.GetObjectText_ ' o.k.
>
> Set klassen = basis.Associators_ (, "Win32_LogicalDisk", , , , , , , 32)
>
> For Each klasse In klassen
>
> list = list & klasse.size Next
>
> MsgBox list
>
>