Solved

How do I make this script run silently?

Posted on 2011-03-18
12
476 Views
Last Modified: 2012-05-11
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!
0
Comment
Question by:RSMTECH_KC
  • 5
  • 4
  • 2
  • +1
12 Comments
 
LVL 32

Expert Comment

by:it_saige
ID: 35167784
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
 
LVL 22

Expert Comment

by:plusone3055
ID: 35168034
How do I make this script run silently?

tell it to be quiet :)
0
 
LVL 51

Expert Comment

by:HainKurt
ID: 35168064
remove all

WScript.Echo ...

lines
0
 
LVL 51

Expert Comment

by:HainKurt
ID: 35168078
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
 
LVL 1

Author Comment

by:RSMTECH_KC
ID: 35168904
@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
 
LVL 32

Expert Comment

by:it_saige
ID: 35169107
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
How to run any project with ease

Manage projects of all sizes how you want. Great for personal to-do lists, project milestones, team priorities and launch plans.
- Combine task lists, docs, spreadsheets, and chat in one
- View and edit from mobile/offline
- Cut down on emails

 
LVL 1

Author Comment

by:RSMTECH_KC
ID: 35169258
For some reason it is still deleting all files in the folder.  Not just those older than 30 days.
0
 
LVL 51

Expert Comment

by:HainKurt
ID: 35169952
"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
 
LVL 51

Expert Comment

by:HainKurt
ID: 35169960
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
 
LVL 1

Author Comment

by:RSMTECH_KC
ID: 35180658
Still not working.  I might look at doing something else?
0
 
LVL 1

Accepted Solution

by:
RSMTECH_KC earned 0 total points
ID: 35183138
Found another solution.
0
 
LVL 1

Author Closing Comment

by:RSMTECH_KC
ID: 35221226
I found another solution and answered my own question.
0

Featured Post

Top 6 Sources for Identifying Threat Actor TTPs

Understanding your enemy is essential. These six sources will help you identify the most popular threat actor tactics, techniques, and procedures (TTPs).

Join & Write a Comment

Unlike scripting languages such as C# where a semi-colon is used to indicate the end of a command, Microsoft's VBScript language relies on line breaks to determine when a command begins and ends. As you can imagine, this quickly results in messy cod…
Not long ago I saw a question in the VB Script forum that I thought would not take much time. You can read that question (Question ID  (http://www.experts-exchange.com/Programming/Languages/Visual_Basic/VB_Script/Q_28455246.html)28455246) Here (http…
In this seventh video of the Xpdf series, we discuss and demonstrate the PDFfonts utility, which lists all the fonts used in a PDF file. It does this via a command line interface, making it suitable for use in programs, scripts, batch files — any pl…
Polish reports in Access so they look terrific. Take yourself to another level. Equations, Back Color, Alternate Back Color. Write easy VBA Code. Tighten space to use less pages. Launch report from a menu, considering criteria only when it is filled…

707 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

14 Experts available now in Live!

Get 1:1 Help Now