Solved

VBS Script - Delete files/check date of files

Posted on 2006-10-26
1
7,362 Views
Last Modified: 2011-10-03
Hi Guys,
I need some help combining these two scripts, the first script deletes backups that are a day old, the second script checks to see if there is more than two backups in the folder and if there is deletes everything in the backup folder.

what i need the script to do is....

Check to see if there is more than two files in the backup directory, if there is then delete the older backup of the two, and keep the newer backup....


here is the two scripts................

Option Explicit
on error resume next
Dim oFSO
Dim sDirectoryPath
Dim oFolder
Dim oFileCollection
Dim oFile
Dim iDaysOld
'Delete database backup files older than 1 days
iDaysOld = 1
Set oFSO = CreateObject("Scripting.FileSystemObject")
sDirectoryPath = "C:\Program Files\Microsoft SQL Server\MSSQL\BACKUP\"
set oFolder = oFSO.GetFolder(sDirectoryPath)
set oFileCollection = oFolder.Files
'If database backup files are older than 1 days, delete them.
For each oFile in oFileCollection
If oFile.DateLastModified < (Date() - iDaysOld) Then
oFile.Delete(True)
End If
Next
'Clean up
Set oFSO = Nothing
Set oFolder = Nothing
Set oFileCollection = Nothing
Set oFile = Nothing


Option Explicit
on error resume next
Dim oFSO
Dim sDirectoryPath
Dim oFolder
Dim oFileCollection
Dim oFile

'Delete delete all files in the directory if more than one file exists

Set oFSO = CreateObject("Scripting.FileSystemObject")
sDirectoryPath = "C:\Program Files\Microsoft SQL Server\MSSQL\BACKUP\"
set oFolder = oFSO.GetFolder(sDirectoryPath)

if oFolder.Files.count > 0 then
   set oFileCollection = oFolder.Files

   For each oFile in oFileCollection
      oFile.Delete(True)
   Next

   ' clean up
   Set oFile = Nothing
   Set oFileCollection = Nothing
End If

'Clean up
Set oFolder = Nothing
Set oFSO = Nothing





0
Comment
Question by:jay_eire
1 Comment
 
LVL 4

Accepted Solution

by:
mattcarver earned 500 total points
ID: 17834714
>>what i need the script to do is....
>>Check to see if there is more than two files in the backup directory, if there is then delete the older backup of the two, and >>keep the newer backup....

You said you need the script to see if there are "more than two files" but I think you meant "two" file or "two or more".  If that is the case you can use the following script.

The following script will delete the oldest file in the directory but will only execute if there are 2 or more files in the directory.  This script does not check too see if the backup files are older than one day.  You didn't say you wanted that.

--------- cut and paste into a filename with a .vbs extension.  double-click to execute -----------
Option Explicit
on error resume next
Dim oFSO
Dim sDirectoryPath
Dim oFolder
Dim oFileCollection
Dim oFile
Dim CompDate

'Delete delete all files in the directory if more than one file exists
Set oFSO = CreateObject("Scripting.FileSystemObject")
sDirectoryPath = "C:\Program Files\Microsoft SQL Server\MSSQL\BACKUP\"
Set oFolder = oFSO.GetFolder(sDirectoryPath)
CompDate = Null

if oFolder.Files.count > 1 then
   set oFileCollection = oFolder.Files

   'Find the date of the oldest file
   For each oFile in oFileCollection
      If CDate(CompDate) > CDate(oFile.DateLastModified) Then
        CompDate = oFile.DateLastModified
      End If
   Next

   'Delete the file associated with the oldest date
   For each oFile in oFileCollection
      If CDate(oFile.DateLastModified) = CompDate Then oFile.Delete(True)
   Next

   ' clean up
   Set oFile = Nothing
   Set oFileCollection = Nothing
End If

'Clean up
Set oFolder = Nothing
Set oFSO = Nothing
0

Featured Post

3 Use Cases for Connected Systems

Our Dev teams are like yours. They’re continually cranking out code for new features/bugs fixes, testing, deploying, testing some more, responding to production monitoring events and more. It’s complex. So, we thought you’d like to see what’s working for us.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

This article was inspired by a question here at Experts Exchange (http://www.experts-exchange.com/Software/Photos_Graphics/Images_and_Photos/Q_28629170.html). The requirements stated in that question are (1) reduce the file size of a large number of…
When we want to run, execute or repeat a statement multiple times, a loop is necessary. This article covers the two types of loops in Python: the while loop and the for loop.
This theoretical tutorial explains exceptions, reasons for exceptions, different categories of exception and exception hierarchy.
Viewers will learn how to properly install Eclipse with the necessary JDK, and will take a look at an introductory Java program. Download Eclipse installation zip file: Extract files from zip file: Download and install JDK 8: Open Eclipse and …

773 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