Link to home
Start Free TrialLog in
Avatar of adamshields
adamshieldsFlag for United States of America

asked on

Script help, vbscript to get directory sizes and output to csv

I have found  scripts that are similar to what I want to do, but none work exactly as needed.  I just want the script to get a list of the of directories within a specified directory and there respective size then print that data to a csv/excel file

Script 1

'========================
'
' Title: Folder Size Checking Script
'
' Filename: fldrsize.vbs
' Author: Ariston Collander, Cox Computer Service
' Date: 03/2/2004
'
'========================

'###BEGIN Main####
On Error Resume Next

'==DIM Needed Variables==
Dim CurrentDate
Dim Company
Dim resultsfile
Dim FSO
Dim res
Dim varFldr, varFldrName, varFldrSize

'==Configure User defined Variables==
CurrentDate = Now
Company = "Insert Company Name Here"
resultsfile = "C:\Documents and Settings\rsreese\Desktop\tmp\" & FormatDateTime(CurrentDate, vbLongDate) & ".htm "

'==System variables - Do Not Change==
const HKEY_LOCAL_MACHINE = &H80000002
ForWriting = 2
forReading = 1
forWriting = 2
forAppending = 8
CutOff = Date() - 1

'==Create the Folder List Arrays==
arrServer = Array("C:\Documents and Settings\rsreese\Desktop\tmp")

'==Create the file system object==
Set FSO = CreateObject("Scripting.FileSystemObject")

'==Create the basic htm file==
Set res = FSO.CreateTextFile(resultsfile, True)
res.Writeline ("<html>")
res.Writeline ("<h1>Folder Size Verification results on: <font color='#000080'>" & date() & "</font></h1>")
res.Writeline ("<table BORDER=0 width=50% cellspacing=0 cellpadding=0>")

'==Add header for Server==
insertHTML("Insert Server Name Here")

'==Run the chkfldrspace() subroutine on Server Array==
chkfldrspace(arrServer)

'==Script complete==
res.Writeline ("</html>")
'####END Main####

'####Check Folder Space Subroutine####
Sub chkfldrspace (arrObject)

'==Cycle through the array to run the subroutine==
Dim varFolder
For each varFldr in arrObject
Set varFolder = FSO.GetFolder(varFldr)
varFldrSize = Round(varFolder.size/1048576, 2)

'==Write the results to the HTM file==
res.Writeline ("<tr>")
res.Writeline ("<td><b><font face=Verdana color=#000080 size=2> " & UCase(varFolder.Name) & "</font></b></TD>")
res.Writeline ("<td><b><font face=Verdana color=#000080 size=2> " & varFldrSize & " megabytes used</font></b></TD>")
res.Writeline ("</tr>")
Next

End Sub
'####End Check Folder Space Subroutine####

'####Insert HTML Header Subroutine####
Sub insertHTML(varSrvName)

res.Writeline ("<tr>")
res.Writeline ("<th colspan=2 bgcolor=#000080")
res.Writeline ("<p align=left>")
res.Writeline ("<b><font face=Verdana size=4 color=#FFFFFF>Folder size information on " & varSrvName & " </font></b></p>")
res.Writeline ("</th>")
res.Writeline ("</tr>")
res.Writeline ("<tr>")
res.Writeline ("<td bgcolor=#C0C0C0><b><font face=Verdana color=#FFFFFF size=3><u>Folder Name</u></font></b></TD>")
res.Writeline ("<td bgcolor=#C0C0C0><b><font face=Verdana color=#FFFFFF size=3><u>Folder Size</u></font></b></TD>")
res.Writeline ("</tr>")

End Sub
'####End Insert HTML Header Subroutine####
ASKER CERTIFIED SOLUTION
Avatar of harnal
harnal

Link to home
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Start Free Trial