Windows Server 2003
1833490 Members
2781 Online
110052 Solutions
New Discussion

Re: how to know size of folder

 
avizen9
Esteemed Contributor

how to know size of folder

Hello,
in document and setting i am having 50+ folder i want to know which folder is occupying more space that, its very difficult to check each and every folder by clicking property tab,
surely assign point for each correct reply
thanks,
3 REPLIES 3
Igor Karasik
Honored Contributor

Re: how to know size of folder

The best freeware tool for report disk space -
TreeSize Free
http://www.jam-software.com/freeware/index.shtml

We use it two years, works wery well and quick.
Dennis Handly
Acclaimed Contributor

Re: how to know size of folder

I have a shareware program DISKdata.
I suppose you could also use a CD/DVD burner software and it would tell you how much space under each directory.
WFHC-WI
Honored Contributor

Re: how to know size of folder

Hi avizen,

I have a script that I use to find information about the sizes of subfolders of a given folder.

This script prompts you to select a directory and then reports back via a webpage the sizes of all subdirectories within that directory (unfortunately not recursively.)

Copy the text below and save with a .vbs extension. It may also help you to develop your own script. Good luck!
_______________________________________

On Error Resume Next
strComputer = "."
Const MY_COMPUTER = &H11&
Const ForWriting = 2
Const WINDOW_HANDLE = 0
Const OPTIONS = 0

Set objWMIService = GetObject("winmgmts:" _
& "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")

Set objFSO = CreateObject("Scripting.FileSystemObject")

If objFSO.FileExists("C:\SubfolderInfo.htm") Then
objFSO.DeleteFile("C:\SubfolderInfo.htm")
End If

Set objShell = CreateObject("Shell.Application")
Set objFolder = objShell.Namespace(MY_COMPUTER)
Set objFolderItem = objFolder.Self
strPath2 = objFolderItem.Path

Set objShell = CreateObject("Shell.Application")
Set objFolderSelect = objShell.BrowseForFolder _
(WINDOW_HANDLE, "Select a folder:", OPTIONS, strPath2)

If objFolderSelect Is Nothing Then
Wscript.Quit
End If

Set objFolderItem = objFolderSelect.Self

strPath = objFolderItem.Path

Set colSubfolders = objWMIService.ExecQuery _
("Associators of {Win32_Directory.Name='" & strPath & "'} " _
& "Where AssocClass = Win32_Subdirectory " _
& "ResultRole = PartComponent")

Set objOutFile = objFSO.CreateTextFile("C:\SubfolderInfo.htm", ForWriting, True)
objOutFile.writeline ""
objOutFile.writeline ""
objOutFile.writeline "Subfolder Information for " & strPath & ""
objOutFile.writeline ""
objOutFile.writeline ""
objOutFile.writeline "

Subfolder Information for " & strPath & "

" & vbCrLf
objOutFile.writeline "

" & Now() & "

" & vbCrLf
objOutFile.writeline "" & vbCrLf
objOutFile.writeline "" & vbCrLf
objOutFile.writeline "" & _
"" & vbCrLf


For Each objFolder in colSubfolders
Set objFSO2 = CreateObject("Scripting.FileSystemObject")
Set objFolder2 = objFSO2.GetFolder(objFolder.Name)
intSizeInMB = objFolder2.Size / 1084576
intSizeInMB = Round(intSizeInMB, 1)
objOutFile.writeline "" & vbCrLf
objOutFile.writeline "" & vbCrLf
objOutFile.writeline "" & vbCrLf
Next
objOutFile.writeline "
Folder NameSize in MBLast ModifiedLast Accessed
" & objFolder2.Name & " chr(34) & ">" & intSizeInMB & "" & objFolder2.DateLastModified & "" & _
objFolder2.DateLastAccessed & "
"
objOutFile.writeline ""
objOutFile.writeline ""

'MsgBox "Your results have been catalogued in C:\SubfolderInfo.htm",4096,"Scan Complete..."

Set objShell2 = Wscript.CreateObject("Wscript.Shell")
objShell2.Run "C:\SubfolderInfo.htm"
_______________________________________