Want to protect your cyber security and still get fast solutions? Ask a secure question today.Go Premium

x
  • Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 1249
  • Last Modified:

Script to Delete old log files

Basically I'm looking for a script to delete all log files in the C:\Windows\System32\LogFiles\ directory that are older than 1 month. I found the script below, but wasn't sure how to taylor it to get a dynamic date. Also I wasn't sure if I could just change "AND Drive = 'D:'" to ='C:\Windows\System32\LogFiles\" Thanks!
strDate = "20031102000000.000000+000"
 
strComputer = "."
Set objWMIService = GetObject _
    ("winmgmts:\\" & strComputer & "\root\cimv2")
Set colFiles = objWMIService.ExecQuery _
    ("Select * From CIM_DataFile Where CreationDate < '" & strDate & "'" & _
        " AND Drive = 'D:'")
For Each objFile in colFiles
    Wscript.Echo objFile.Name
Next

Open in new window

0
jonmclean2
Asked:
jonmclean2
  • 3
  • 2
1 Solution
 
Shift-3Commented:
It might be easier to customize the vbscript from this article.

You could also use the forfiles command in a batch script, e.g.


forfiles /p "%systemroot%\System32\LogFiles" /m *.log /c "cmd /c ECHO del @file" /d -30

Open in new window

0
 
Shift-3Commented:
Whoops, change @file to @path.  

As written, the command just echoes the paths of the files.  Once you've tested it successfully, remove the ECHO to execute the deletions.
0
 
jonmclean2Author Commented:
Forfiles /p "C:\WINDOWS\System32\LogFiles" /m *
.log /c "cmd /c ECHO del @path" /d -30

'Forfiles' is not recognized as an internal or external command,
operable program or batch file.
0
 
jonmclean2Author Commented:
Apologies i was attempting to test it on my local machine. When I run it on the server I get this.

C:\Documents and Settings\baerme.SAIC-US-EAST>forfiles /p "%systemroot%\System32
\LogFiles\W3SVC400752808\" /m *.log /c "cmd /c ECHO del @path" /d -30
ERROR: Invalid argument/option - 'del'.
Type "FORFILES /?" for usage.
0
 
jonmclean2Author Commented:
forfiles /p "%systemroot%\System32\LogFiles\W3SVC400752808\" /m *.log /c "cmd /c if @isdir==FALSE echo del @file & del @file" /d -9 Worked
0

Featured Post

VIDEO: THE CONCERTO CLOUD FOR HEALTHCARE

Modern healthcare requires a modern cloud. View this brief video to understand how the Concerto Cloud for Healthcare can help your organization.

  • 3
  • 2
Tackle projects and never again get stuck behind a technical roadblock.
Join Now