' ***************************************************************
' * CheckDirSize.vbs     By Vittorio Pavesi (www.vittorio.tk) 	*
' *								* 
' * Verify Directory Size and send notification by E-Mail	*
' ***************************************************************

BaseDirectory = "D:\Download"
Limit = 100  ' MB

CheckFolder(BaseDirectory)

Function CheckFolder(Directory)
    Set sss = CreateObject("WScript.Shell")
    Set fso = CreateObject("Scripting.FileSystemObject")
    Set f = fso.GetFolder(Directory)
    For each sf In f.subfolders
    	value = round(sf.Size/1048576,2)
    	If value > limit Then
    		Mail("Check Directory Size", sf.Name & " - " & Value & " Mb")
    	End If
    Next 
End Function



Function Mail(subject, message)
	Dim iMsg, Flds, iConf
	Const cdoSendUsingMethod = "http://schemas.microsoft.com/cdo/configuration/sendusing"
	Const cdoSendUsingPort = 2
	Const cdoSMTPServer = "http://schemas.microsoft.com/cdo/configuration/smtpserver"
	Set iMsg = CreateObject("CDO.Message")
	Set iConf = CreateObject("CDO.Configuration")
	Set Flds = iConf.Fields
	Flds(cdoSendUsingMethod) = cdoSendUsingPort
	Flds(cdoSMTPServer) = "mailserver" 
	'Flds(cdoSMTPServerPort) = 25
	'Flds(cdoSMTPAuthenticate) = cdoAnonymous ' 0
	Flds.Update
	With iMsg
	  Set .Configuration = iConf
	  .To = "vittorio.pavesi@domain.com"
	  '.Cc = "vittorio.pavesi@domain.com"
	  .From = "Vittorio Pavesi"
	  .Sender = "vittorio.pavesi@domain.com"
	  .Subject = subject
	  .TextBody = message
	  '.AddAttachment "D:\Temp.txt"
	  .Send
	End With
End Function