How do I make this script run silently?

Hi,

My company uses a lot of automated faxing and our sent items folder on the server becomes very large rather quickly.  I am currently using this script to clear out all items older than 30 days.  The script works well.  The only problem is that every time the script is run it requires my interaction.  I would like to set this to run automatically as a scheduled task so that I do not have to manually run and click yes for every item being deleted.  Or is there a better script to use for this?

Start of script
=========================================================
Const Active = True
Const sSource = "c:\fax\sent items"
Const MaxAge = 30 'days
Const Recursive = True

Checked = 0
Deleted = 0

Set oFSO = CreateObject("Scripting.FileSystemObject")
if active then verb = "Deleting """ Else verb = "Old file: """
CheckFolder oFSO.GetFolder(sSource)

WScript.echo
if Active then verb = " file(s) deleted" Else verb = " file(s) would be deleted"
WScript.Echo Checked & " file(s) checked, " & Deleted & verb

Sub CheckFolder (oFldr)
For Each oFile In oFldr.Files
Checked = Checked + 1
If DateDiff("D", oFile.DateLastModified, Now()) > MaxAge Then Deleted = Deleted + 1
WScript.Echo verb & oFile.Path & """"
If Active Then oFile.Delete
End If
Next

if not Recursive then Exit Sub
For Each oSubfolder In oFldr.Subfolders
CheckFolder(oSubfolder)
Next
End Sub
=========================================================
End of script

Thanks in advance!
LVL 1
RSMTECH_KCAsked:
Who is Participating?
 
RSMTECH_KCConnect With a Mentor Author Commented:
Found another solution.
0
 
it_saigeDeveloperCommented:
Try:
Const Active = True
Const sSource = "c:\fax\sent items"
Const MaxAge = 30 'days
Const Recursive = True

Checked = 0
Deleted = 0

Set oFSO = CreateObject("Scripting.FileSystemObject")
if active then verb = "Deleting """ Else verb = "Old file: """
	CheckFolder oFSO.GetFolder(sSource)

if Active then verb = " file(s) deleted" Else verb = " file(s) would be deleted"
	WScript.Echo Checked & " file(s) checked, " & Deleted & verb

Sub CheckFolder (oFldr)
	For Each oFile In oFldr.Files
		Checked = Checked + 1
		If DateDiff("D", oFile.DateLastModified, Now()) > MaxAge Then Deleted = Deleted + 1

		If Active Then oFile.Delete
		End If
	Next

	if not Recursive then Exit Sub
	For Each oSubfolder In oFldr.Subfolders
		CheckFolder(oSubfolder)
	Next
End Sub

Open in new window

HTH,

-saige-
0
 
plusone3055Commented:
How do I make this script run silently?

tell it to be quiet :)
0
Free Tool: Port Scanner

Check which ports are open to the outside world. Helps make sure that your firewall rules are working as intended.

One of a set of tools we are providing to everyone as a way of saying thank you for being a part of the community.

 
HainKurtSr. System AnalystCommented:
remove all

WScript.Echo ...

lines
0
 
HainKurtSr. System AnalystCommented:
or add //b on command line

wscript //b c:\myvbs\myscript.vbs

have a look at parameters

http://msdn.microsoft.com/en-us/library/xazzc41b(v=VS.85).aspx
0
 
RSMTECH_KCAuthor Commented:
@it_saige

I tried your script but get an error referring to Line: 22 Char: 3

@HainKurt

I made these changes and ran on a test folder and it worked...however it deletes everything, not just files older than 30 days.
0
 
it_saigeDeveloperCommented:
Try:
Const Active = True
Const sSource = "c:\fax\sent items"
Const MaxAge = 30 'days
Const Recursive = True

Checked = 0
Deleted = 0

Set oFSO = CreateObject("Scripting.FileSystemObject")
if active then verb = "Deleting """ Else verb = "Old file: """
	CheckFolder oFSO.GetFolder(sSource)

if Active then verb = " file(s) deleted" Else verb = " file(s) would be deleted"
	WScript.Echo Checked & " file(s) checked, " & Deleted & verb

Sub CheckFolder (oFldr)
	For Each oFile In oFldr.Files
		Checked = Checked + 1
		If DateDiff("D", oFile.DateLastModified, Now()) > MaxAge Then Deleted = Deleted + 1

		If Active Then oFile.Delete
	Next

	if not Recursive then Exit Sub
	For Each oSubfolder In oFldr.Subfolders
		CheckFolder(oSubfolder)
	Next
End Sub

Open in new window

HTH,

-saige-
0
 
RSMTECH_KCAuthor Commented:
For some reason it is still deleting all files in the folder.  Not just those older than 30 days.
0
 
HainKurtSr. System AnalystCommented:
"For some reason it is still deleting all files in the folder.  Not just those older than 30 days."

this is another question, not related to the original post :)
0
 
HainKurtSr. System AnalystCommented:
try

If DateDiff("D", oFile.DateLastModified, Now()) > MaxAge Then Deleted = Deleted + 1
WScript.Echo verb & oFile.Path & """"
If Active Then oFile.Delete
End If

-->

If DateDiff("D", oFile.DateLastModified, Now()) > MaxAge Then
  Deleted = Deleted + 1
  WScript.Echo verb & oFile.Path & """"
  If Active Then oFile.Delete
End If
0
 
RSMTECH_KCAuthor Commented:
Still not working.  I might look at doing something else?
0
 
RSMTECH_KCAuthor Commented:
I found another solution and answered my own question.
0
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

All Courses

From novice to tech pro — start learning today.