Automatic IIS log housekeeping
A collection of scripts that can keep the IIS server's HTTP/SMTP/FTP logs from filling up drives.Depending on the script chosen, you can have different archiving (compression) and file retention times, or just simple delete-older-than log rotation. The log locations can be automatically retrieved from the IIS metabase (additional configuration needed for IIS 7.x), or specified manually.
- Script for specifying log locations manually, logs are archived and deleted
- Script for specifying log locations manually, logs are just deleted
- Script that finds log locations automatically, logs are archived and deleted
- Script that finds log locations automatically, logs are just deleted
Note that the scripts using compression need the command line version of the free 7-Zip compressor available on http://www.7-zip.org/download.html
Update 2011-11-05: The functionality of script two and four have been further developed into a standalone log rotation Windows service. If you want to avoid the hassle of setting up a scheduled task for the log rotation, you can use the service instead.
Housekeeping script, manual log locations, logs are archived and deleted:
Option Explicit
WScript.Timeout = 82800
' This Script archives (compresses to a zip file, then deletes the
' original) IIS log files older than a specified number of days.
' The script can also delete the compressed archive files older
' than another specified number of days.
'
' Run it as a daily scheduled task on high traffic web servers to
' avoid running out of disc space. IIS logs can typically be
' compressed to well below 1/20 of the original file size.
'
' The script needs the command line version of the free 7-Zip
' compressor available on http://www.7-zip.org/
'
' The ArchiveLogFiles function takes three parameters:
' "Path to log dir"
' "Compress log files older than n days and delete the original files"
' "Delete compressed log files older than n days"
'
' Multiple function calls can be added to archive files in different
' log folders with different log retentions.
'
' Note that the function runs through subfolders recursively, so if
' the same log retention should be used on a whole log folder tree
' structure, only one call with the root log folder is needed.
' Additional calls with specific subfolders can then be made to have
' shorter retentions on those.
'
' Edit the example lines below to match the log folder paths,
' archive and retention values needed on the server.
ArchiveLogFiles "D:\Logfiles", 30, 180
ArchiveLogFiles "D:\Logfiles\W3SVC1", 14, 30
ArchiveLogFiles "D:\Logfiles\W3SVC243", 5, 30
ArchiveLogFiles "D:\Logfiles\SMTPSVC1", 7, 60
Function ArchiveLogFiles(strLogPath, intZipAge, intDelAge)
Dim objFs
Dim objFsCheck
Dim objFolder
Dim objSubFolder
Dim objFile
Dim objWShell
Set objWShell = CreateObject("WScript.Shell")
Set objFs = CreateObject("Scripting.FileSystemObject")
Set objFsCheck = CreateObject("Scripting.FileSystemObject")
If Right(strLogPath, 1) <> "\" Then
strLogPath = strLogPath & "\"
End If
If objFs.FolderExists(strLogPath) Then
Set objFolder = objFs.GetFolder(strLogPath)
For Each objSubFolder in objFolder.subFolders
ArchiveLogFiles strLogPath & objSubFolder.Name, intZipAge, intDelAge
Next
For Each objFile in objFolder.Files
If (InStr(objFile.Name, "ex") > 0) _
And (Right(objFile.Name, 4) = ".log") Then
If DateDiff("d",objFile.DateLastModified,Date) > intZipAge Then
objWShell.Run "7za.exe a -tzip """ & strLogPath & _
Left(objFile.Name,Len(objFile.Name)-3) & "zip"" """ & _
strLogPath & objFile.Name & """", 7, true
If objFsCheck.FileExists(strLogPath & _
Left(objFile.Name,Len(objFile.Name)-3) & "zip") And _
(objFsCheck.FileExists(strLogPath & objFile.Name)) Then
objFsCheck.DeleteFile(strLogPath & objFile.Name)
End If
End If
ElseIf (InStr(objFile.Name, "ex") > 0) _
And (Right(objFile.Name, 4) = ".zip") Then
If DateDiff("d",objFile.DateLastModified,Date) > intDelAge Then
objFsCheck.DeleteFile(strLogPath & objFile.Name)
End If
End If
Next
Set objFs = Nothing
Set objFsCheck = Nothing
Set objFolder = Nothing
Set objWShell = nothing
End If
End Function
WScript.Timeout = 82800
' This Script archives (compresses to a zip file, then deletes the
' original) IIS log files older than a specified number of days.
' The script can also delete the compressed archive files older
' than another specified number of days.
'
' Run it as a daily scheduled task on high traffic web servers to
' avoid running out of disc space. IIS logs can typically be
' compressed to well below 1/20 of the original file size.
'
' The script needs the command line version of the free 7-Zip
' compressor available on http://www.7-zip.org/
'
' The ArchiveLogFiles function takes three parameters:
' "Path to log dir"
' "Compress log files older than n days and delete the original files"
' "Delete compressed log files older than n days"
'
' Multiple function calls can be added to archive files in different
' log folders with different log retentions.
'
' Note that the function runs through subfolders recursively, so if
' the same log retention should be used on a whole log folder tree
' structure, only one call with the root log folder is needed.
' Additional calls with specific subfolders can then be made to have
' shorter retentions on those.
'
' Edit the example lines below to match the log folder paths,
' archive and retention values needed on the server.
ArchiveLogFiles "D:\Logfiles", 30, 180
ArchiveLogFiles "D:\Logfiles\W3SVC1", 14, 30
ArchiveLogFiles "D:\Logfiles\W3SVC243", 5, 30
ArchiveLogFiles "D:\Logfiles\SMTPSVC1", 7, 60
Function ArchiveLogFiles(strLogPath, intZipAge, intDelAge)
Dim objFs
Dim objFsCheck
Dim objFolder
Dim objSubFolder
Dim objFile
Dim objWShell
Set objWShell = CreateObject("WScript.Shell")
Set objFs = CreateObject("Scripting.FileSystemObject")
Set objFsCheck = CreateObject("Scripting.FileSystemObject")
If Right(strLogPath, 1) <> "\" Then
strLogPath = strLogPath & "\"
End If
If objFs.FolderExists(strLogPath) Then
Set objFolder = objFs.GetFolder(strLogPath)
For Each objSubFolder in objFolder.subFolders
ArchiveLogFiles strLogPath & objSubFolder.Name, intZipAge, intDelAge
Next
For Each objFile in objFolder.Files
If (InStr(objFile.Name, "ex") > 0) _
And (Right(objFile.Name, 4) = ".log") Then
If DateDiff("d",objFile.DateLastModified,Date) > intZipAge Then
objWShell.Run "7za.exe a -tzip """ & strLogPath & _
Left(objFile.Name,Len(objFile.Name)-3) & "zip"" """ & _
strLogPath & objFile.Name & """", 7, true
If objFsCheck.FileExists(strLogPath & _
Left(objFile.Name,Len(objFile.Name)-3) & "zip") And _
(objFsCheck.FileExists(strLogPath & objFile.Name)) Then
objFsCheck.DeleteFile(strLogPath & objFile.Name)
End If
End If
ElseIf (InStr(objFile.Name, "ex") > 0) _
And (Right(objFile.Name, 4) = ".zip") Then
If DateDiff("d",objFile.DateLastModified,Date) > intDelAge Then
objFsCheck.DeleteFile(strLogPath & objFile.Name)
End If
End If
Next
Set objFs = Nothing
Set objFsCheck = Nothing
Set objFolder = Nothing
Set objWShell = nothing
End If
End Function
Housekeeping script, manual log locations, logs are just deleted:
Option Explicit
WScript.Timeout = 82800
' This Script deletes IIS log files older than a specified number
' of days.
'
' Run it as a daily scheduled task on high traffic web servers to
' avoid running out of disc space.
'
' The DeleteLogFiles function takes two parameters:
' "Path to log dir"
' "Delete log files older than n days"
'
' Multiple function calls can be added to delete files in different
' log folders with different log retentions.
'
' Note that the function runs through subfolders recursively, so if
' the same log retention should be used on a whole log folder tree
' structure, only one call with the root log folder is needed.
' Additional calls with specific subfolders can then be made to have
' shorter retentions on those.
'
' Edit the example lines below to match the log folder paths and
' retention values needed on the server.
DeleteLogFiles "D:\Logfiles", 30
DeleteLogFiles "D:\Logfiles\W3SVC1", 14
DeleteLogFiles "D:\Logfiles\W3SVC243", 5
DeleteLogFiles "D:\Logfiles\SMTPSVC1", 7
Function DeleteLogFiles(strLogPath, intDelAge)
Dim objFs
Dim objFolder
Dim objSubFolder
Dim objFile
Set objFs = CreateObject("Scripting.FileSystemObject")
If Right(strLogPath, 1) <> "\" Then
strLogPath = strLogPath & "\"
End If
If objFs.FolderExists(strLogPath) Then
Set objFolder = objFs.GetFolder(strLogPath)
For Each objSubFolder in objFolder.subFolders
DeleteLogFiles strLogPath & objSubFolder.Name, intDelAge
Next
For Each objFile in objFolder.Files
If (InStr(objFile.Name, "ex") > 0) _
And (Right(objFile.Name, 4) = ".log") Then
If DateDiff("d",objFile.DateLastModified,Date) > intDelAge Then
objFs.DeleteFile(strLogPath & objFile.Name)
End If
End If
Next
Set objFs = Nothing
Set objFolder = Nothing
End If
End Function
WScript.Timeout = 82800
' This Script deletes IIS log files older than a specified number
' of days.
'
' Run it as a daily scheduled task on high traffic web servers to
' avoid running out of disc space.
'
' The DeleteLogFiles function takes two parameters:
' "Path to log dir"
' "Delete log files older than n days"
'
' Multiple function calls can be added to delete files in different
' log folders with different log retentions.
'
' Note that the function runs through subfolders recursively, so if
' the same log retention should be used on a whole log folder tree
' structure, only one call with the root log folder is needed.
' Additional calls with specific subfolders can then be made to have
' shorter retentions on those.
'
' Edit the example lines below to match the log folder paths and
' retention values needed on the server.
DeleteLogFiles "D:\Logfiles", 30
DeleteLogFiles "D:\Logfiles\W3SVC1", 14
DeleteLogFiles "D:\Logfiles\W3SVC243", 5
DeleteLogFiles "D:\Logfiles\SMTPSVC1", 7
Function DeleteLogFiles(strLogPath, intDelAge)
Dim objFs
Dim objFolder
Dim objSubFolder
Dim objFile
Set objFs = CreateObject("Scripting.FileSystemObject")
If Right(strLogPath, 1) <> "\" Then
strLogPath = strLogPath & "\"
End If
If objFs.FolderExists(strLogPath) Then
Set objFolder = objFs.GetFolder(strLogPath)
For Each objSubFolder in objFolder.subFolders
DeleteLogFiles strLogPath & objSubFolder.Name, intDelAge
Next
For Each objFile in objFolder.Files
If (InStr(objFile.Name, "ex") > 0) _
And (Right(objFile.Name, 4) = ".log") Then
If DateDiff("d",objFile.DateLastModified,Date) > intDelAge Then
objFs.DeleteFile(strLogPath & objFile.Name)
End If
End If
Next
Set objFs = Nothing
Set objFolder = Nothing
End If
End Function
Housekeeping script, automatic log locations, logs are archived and deleted:
Option Explicit
WScript.Timeout = 82800
' This Script archives (compresses to a zip file, then deletes the
' original) IIS log files older than a specified number of days.
' The script can also delete the compressed archive files older
' than another specified number of days.
'
' Run it as a daily scheduled task on high traffic web servers to
' avoid running out of disc space. IIS logs can typically be
' compressed to well below 1/20 of the original file size.
'
' The script needs the command line version of the free 7-Zip
' compressor available on http://www.7-zip.org/
'
' Edit the values for intZipAge and intDelAge to set the archive and
' retention times needed on the server.
'
' The locations of the IIS log files are found automatically (for this
' to also work on IIS 7.x on Windows Vista, Windows Server 2008 or
' Windows 7, please enable "IIS 6 Metabase Compatibility" aka
' "IIS Metabase and IIS 6 configuration compatibility").
Dim intZipAge
Dim intDelAge
intZipAge = 30
intDelAge = 180
Dim objIIS
Dim objWeb
Dim objIISOuter
Dim objWebOuter
Set objIISOuter = GetObject("IIS://LOCALHOST")
For Each objWebOuter in objIISOuter
If LCase(objWebOuter.Class) = "iiswebservice" Then
Set objIIS = GetObject("IIS://LOCALHOST/W3SVC")
For Each objWeb in objIIS
If LCase(objWeb.Class) = "iiswebserver" Then
Call ArchiveLogFiles( _
objWeb.LogFileDirectory & "\W3SVC" & objWeb.Name, _
intZipAge, _
intDelAge)
End If
Next
ElseIf LCase(objWebOuter.Class) = "iissmtpservice" Then
Set objIIS = GetObject("IIS://LOCALHOST/SMTPSVC")
For Each objWeb in objIIS
If LCase(objWeb.Class) = "iissmtpserver" Then
Call ArchiveLogFiles( _
objWeb.LogFileDirectory & "\SMTPSVC" & objWeb.Name, _
intZipAge, _
intDelAge)
End If
Next
ElseIf LCase(objWebOuter.Class) = "iisftpservice" Then
Set objIIS = GetObject("IIS://LOCALHOST/MSFTPSVC")
For Each objWeb in objIIS
If LCase(objWeb.Class) = "iisftpserver" Then
Call ArchiveLogFiles( _
objWeb.LogFileDirectory & "\MSFTPSVC" & objWeb.Name, _
intZipAge, _
intDelAge)
End If
Next
End If
Next
Set objIIS = nothing
Set objIISOuter = nothing
Function ArchiveLogFiles(strLogPath, intZipAge, intDelAge)
Dim objFs
Dim objFsCheck
Dim objFolder
Dim objSubFolder
Dim objFile
Dim objWShell
Set objWShell = CreateObject("WScript.Shell")
Set objFs = CreateObject("Scripting.FileSystemObject")
Set objFsCheck = CreateObject("Scripting.FileSystemObject")
If Right(strLogPath, 1) <> "\" Then
strLogPath = strLogPath & "\"
End If
If objFs.FolderExists(strLogPath) Then
Set objFolder = objFs.GetFolder(strLogPath)
For Each objSubFolder in objFolder.subFolders
ArchiveLogFiles strLogPath & objSubFolder.Name, intZipAge, intDelAge
Next
For Each objFile in objFolder.Files
If (InStr(objFile.Name, "ex") > 0) _
And (Right(objFile.Name, 4) = ".log") Then
If DateDiff("d",objFile.DateLastModified,Date) > intZipAge Then
objWShell.Run "7za.exe a -tzip """ & strLogPath & _
Left(objFile.Name,Len(objFile.Name)-3) & "zip"" """ & _
strLogPath & objFile.Name & """", 7, true
If objFsCheck.FileExists(strLogPath & _
Left(objFile.Name,Len(objFile.Name)-3) & "zip") And _
(objFsCheck.FileExists(strLogPath & objFile.Name)) Then
objFsCheck.DeleteFile(strLogPath & objFile.Name)
End If
End If
ElseIf (InStr(objFile.Name, "ex") > 0) _
And (Right(objFile.Name, 4) = ".zip") Then
If DateDiff("d",objFile.DateLastModified,Date) > intDelAge Then
objFsCheck.DeleteFile(strLogPath & objFile.Name)
End If
End If
Next
Set objFs = Nothing
Set objFsCheck = Nothing
Set objFolder = Nothing
Set objWShell = nothing
End If
End Function
WScript.Timeout = 82800
' This Script archives (compresses to a zip file, then deletes the
' original) IIS log files older than a specified number of days.
' The script can also delete the compressed archive files older
' than another specified number of days.
'
' Run it as a daily scheduled task on high traffic web servers to
' avoid running out of disc space. IIS logs can typically be
' compressed to well below 1/20 of the original file size.
'
' The script needs the command line version of the free 7-Zip
' compressor available on http://www.7-zip.org/
'
' Edit the values for intZipAge and intDelAge to set the archive and
' retention times needed on the server.
'
' The locations of the IIS log files are found automatically (for this
' to also work on IIS 7.x on Windows Vista, Windows Server 2008 or
' Windows 7, please enable "IIS 6 Metabase Compatibility" aka
' "IIS Metabase and IIS 6 configuration compatibility").
Dim intZipAge
Dim intDelAge
intZipAge = 30
intDelAge = 180
Dim objIIS
Dim objWeb
Dim objIISOuter
Dim objWebOuter
Set objIISOuter = GetObject("IIS://LOCALHOST")
For Each objWebOuter in objIISOuter
If LCase(objWebOuter.Class) = "iiswebservice" Then
Set objIIS = GetObject("IIS://LOCALHOST/W3SVC")
For Each objWeb in objIIS
If LCase(objWeb.Class) = "iiswebserver" Then
Call ArchiveLogFiles( _
objWeb.LogFileDirectory & "\W3SVC" & objWeb.Name, _
intZipAge, _
intDelAge)
End If
Next
ElseIf LCase(objWebOuter.Class) = "iissmtpservice" Then
Set objIIS = GetObject("IIS://LOCALHOST/SMTPSVC")
For Each objWeb in objIIS
If LCase(objWeb.Class) = "iissmtpserver" Then
Call ArchiveLogFiles( _
objWeb.LogFileDirectory & "\SMTPSVC" & objWeb.Name, _
intZipAge, _
intDelAge)
End If
Next
ElseIf LCase(objWebOuter.Class) = "iisftpservice" Then
Set objIIS = GetObject("IIS://LOCALHOST/MSFTPSVC")
For Each objWeb in objIIS
If LCase(objWeb.Class) = "iisftpserver" Then
Call ArchiveLogFiles( _
objWeb.LogFileDirectory & "\MSFTPSVC" & objWeb.Name, _
intZipAge, _
intDelAge)
End If
Next
End If
Next
Set objIIS = nothing
Set objIISOuter = nothing
Function ArchiveLogFiles(strLogPath, intZipAge, intDelAge)
Dim objFs
Dim objFsCheck
Dim objFolder
Dim objSubFolder
Dim objFile
Dim objWShell
Set objWShell = CreateObject("WScript.Shell")
Set objFs = CreateObject("Scripting.FileSystemObject")
Set objFsCheck = CreateObject("Scripting.FileSystemObject")
If Right(strLogPath, 1) <> "\" Then
strLogPath = strLogPath & "\"
End If
If objFs.FolderExists(strLogPath) Then
Set objFolder = objFs.GetFolder(strLogPath)
For Each objSubFolder in objFolder.subFolders
ArchiveLogFiles strLogPath & objSubFolder.Name, intZipAge, intDelAge
Next
For Each objFile in objFolder.Files
If (InStr(objFile.Name, "ex") > 0) _
And (Right(objFile.Name, 4) = ".log") Then
If DateDiff("d",objFile.DateLastModified,Date) > intZipAge Then
objWShell.Run "7za.exe a -tzip """ & strLogPath & _
Left(objFile.Name,Len(objFile.Name)-3) & "zip"" """ & _
strLogPath & objFile.Name & """", 7, true
If objFsCheck.FileExists(strLogPath & _
Left(objFile.Name,Len(objFile.Name)-3) & "zip") And _
(objFsCheck.FileExists(strLogPath & objFile.Name)) Then
objFsCheck.DeleteFile(strLogPath & objFile.Name)
End If
End If
ElseIf (InStr(objFile.Name, "ex") > 0) _
And (Right(objFile.Name, 4) = ".zip") Then
If DateDiff("d",objFile.DateLastModified,Date) > intDelAge Then
objFsCheck.DeleteFile(strLogPath & objFile.Name)
End If
End If
Next
Set objFs = Nothing
Set objFsCheck = Nothing
Set objFolder = Nothing
Set objWShell = nothing
End If
End Function
Housekeeping script, automatic log locations, logs are just deleted:
Option Explicit
WScript.Timeout = 82800
' This Script deletes IIS log files older than a specified number
' of days.
'
' Run it as a daily scheduled task on high traffic web servers to
' avoid running out of disc space.
'
' Edit the value for intDelAge to set retention times needed on
' the server.
'
' The locations of the IIS log files are found automatically (for this
' to also work on IIS 7.x on Windows Vista, Windows Server 2008 or
' Windows 7, please enable "IIS 6 Metabase Compatibility" aka
' "IIS Metabase and IIS 6 configuration compatibility").
Dim intDelAge
intDelAge = 30
Dim objIIS
Dim objWeb
Dim objIISOuter
Dim objWebOuter
Set objIISOuter = GetObject("IIS://LOCALHOST")
For Each objWebOuter in objIISOuter
If LCase(objWebOuter.Class) = "iiswebservice" Then
Set objIIS = GetObject("IIS://LOCALHOST/W3SVC")
For Each objWeb in objIIS
If LCase(objWeb.Class) = "iiswebserver" Then
Call DeleteLogFiles( _
objWeb.LogFileDirectory & "\W3SVC" & objWeb.Name, _
intDelAge)
End If
Next
ElseIf LCase(objWebOuter.Class) = "iissmtpservice" Then
Set objIIS = GetObject("IIS://LOCALHOST/SMTPSVC")
For Each objWeb in objIIS
If LCase(objWeb.Class) = "iissmtpserver" Then
Call DeleteLogFiles( _
objWeb.LogFileDirectory & "\SMTPSVC" & objWeb.Name, _
intDelAge)
End If
Next
ElseIf LCase(objWebOuter.Class) = "iisftpservice" Then
Set objIIS = GetObject("IIS://LOCALHOST/MSFTPSVC")
For Each objWeb in objIIS
If LCase(objWeb.Class) = "iisftpserver" Then
Call DeleteLogFiles( _
objWeb.LogFileDirectory & "\MSFTPSVC" & objWeb.Name, _
intDelAge)
End If
Next
End If
Next
Set objIIS = nothing
Set objIISOuter = nothing
Function DeleteLogFiles(strLogPath, intDelAge)
Dim objFs
Dim objFolder
Dim objSubFolder
Dim objFile
Dim objWShell
Set objWShell = CreateObject("WScript.Shell")
Set objFs = CreateObject("Scripting.FileSystemObject")
If Right(strLogPath, 1) <> "\" Then
strLogPath = strLogPath & "\"
End If
If objFs.FolderExists(strLogPath) Then
Set objFolder = objFs.GetFolder(strLogPath)
For Each objSubFolder in objFolder.subFolders
DeleteLogFiles strLogPath & objSubFolder.Name, intDelAge
Next
For Each objFile in objFolder.Files
If (InStr(objFile.Name, "ex") > 0) _
And (Right(objFile.Name, 4) = ".log") Then
If DateDiff("d",objFile.DateLastModified,Date) > intDelAge Then
objFs.DeleteFile(strLogPath & objFile.Name)
End If
End If
Next
Set objFs = Nothing
Set objFolder = Nothing
Set objWShell = nothing
End If
End Function
WScript.Timeout = 82800
' This Script deletes IIS log files older than a specified number
' of days.
'
' Run it as a daily scheduled task on high traffic web servers to
' avoid running out of disc space.
'
' Edit the value for intDelAge to set retention times needed on
' the server.
'
' The locations of the IIS log files are found automatically (for this
' to also work on IIS 7.x on Windows Vista, Windows Server 2008 or
' Windows 7, please enable "IIS 6 Metabase Compatibility" aka
' "IIS Metabase and IIS 6 configuration compatibility").
Dim intDelAge
intDelAge = 30
Dim objIIS
Dim objWeb
Dim objIISOuter
Dim objWebOuter
Set objIISOuter = GetObject("IIS://LOCALHOST")
For Each objWebOuter in objIISOuter
If LCase(objWebOuter.Class) = "iiswebservice" Then
Set objIIS = GetObject("IIS://LOCALHOST/W3SVC")
For Each objWeb in objIIS
If LCase(objWeb.Class) = "iiswebserver" Then
Call DeleteLogFiles( _
objWeb.LogFileDirectory & "\W3SVC" & objWeb.Name, _
intDelAge)
End If
Next
ElseIf LCase(objWebOuter.Class) = "iissmtpservice" Then
Set objIIS = GetObject("IIS://LOCALHOST/SMTPSVC")
For Each objWeb in objIIS
If LCase(objWeb.Class) = "iissmtpserver" Then
Call DeleteLogFiles( _
objWeb.LogFileDirectory & "\SMTPSVC" & objWeb.Name, _
intDelAge)
End If
Next
ElseIf LCase(objWebOuter.Class) = "iisftpservice" Then
Set objIIS = GetObject("IIS://LOCALHOST/MSFTPSVC")
For Each objWeb in objIIS
If LCase(objWeb.Class) = "iisftpserver" Then
Call DeleteLogFiles( _
objWeb.LogFileDirectory & "\MSFTPSVC" & objWeb.Name, _
intDelAge)
End If
Next
End If
Next
Set objIIS = nothing
Set objIISOuter = nothing
Function DeleteLogFiles(strLogPath, intDelAge)
Dim objFs
Dim objFolder
Dim objSubFolder
Dim objFile
Dim objWShell
Set objWShell = CreateObject("WScript.Shell")
Set objFs = CreateObject("Scripting.FileSystemObject")
If Right(strLogPath, 1) <> "\" Then
strLogPath = strLogPath & "\"
End If
If objFs.FolderExists(strLogPath) Then
Set objFolder = objFs.GetFolder(strLogPath)
For Each objSubFolder in objFolder.subFolders
DeleteLogFiles strLogPath & objSubFolder.Name, intDelAge
Next
For Each objFile in objFolder.Files
If (InStr(objFile.Name, "ex") > 0) _
And (Right(objFile.Name, 4) = ".log") Then
If DateDiff("d",objFile.DateLastModified,Date) > intDelAge Then
objFs.DeleteFile(strLogPath & objFile.Name)
End If
End If
Next
Set objFs = Nothing
Set objFolder = Nothing
Set objWShell = nothing
End If
End Function
Page last updated 2009-11-23 18:45. Some rights reserved (CC by 3.0)
Tag cloud
dotnet utilities photography javascript diy aspnet html modding vbscript japan databases denmark copenhagen asp ajax
Search
Feeds
All content
ajax
asp
aspnet
copenhagen
databases
denmark
diy
dotnet
html
japan
javascript
modding
photography
utilities
vbscript
dotnet utilities photography javascript diy aspnet html modding vbscript japan databases denmark copenhagen asp ajax
Search
Feeds
