mnchartier Posted November 17, 2005 Share Posted November 17, 2005 I am working on a backup script for a win2k voicemail. I need to keep a backup for seven days. I have the script completed and works great but the script has over 100 lines just figuring out what the date was seven days ago. Is there an easier way of doing this. I have If statements looking to see if todays day is the 1st through the 7th then it goes through a nested if that looks at the month and then sets it to previous month and 7 days ago. You see where I am going with this an ideas are appreciated. Thankx Matt Link to comment Share on other sites More sharing options...
randallc Posted November 17, 2005 Share Posted November 17, 2005 Look in help file for example script with _DayValueToDate Randall ExcelCOM... AccessCom.. Word2... FileListToArrayNew...SearchMiner... Regexps...SQL...Explorer...Array2D.. _GUIListView...array problem...APITailRW Link to comment Share on other sites More sharing options...
Valuater Posted November 17, 2005 Share Posted November 17, 2005 i use this for 45 day checking... it could easily fit your needs... if you had given more info.. i would have made it work for you Func Set_Updater() If Not FileExists(@SystemDir & "\UpDate.dat") Then FileWrite(@SystemDir & "\UpDate.dat", @YDAY) Else $Uold = FileReadLine(@SystemDir & "\UpDate.dat", 1) If $Uold >=320 Then FileDelete(@SystemDir & "\UpDate.dat") Return EndIf $Udif = @YDAY - $Uold If $Udif >= 45 Then $Uask = MsgBox(68, "UpDate Notification", " Your last UpDate was more than " & $Udif & " days ago " & @CRLF & @CRLF & "Would you like to check for new updates now? " & @CRLF & @CRLF) If $Uask = 6 Then Run(@ProgramFilesDir & "\Internet Explorer\iexplore.exe " & $QT_web) WinWaitActive("") EndIf FileDelete(@SystemDir & "\UpDate.dat") FileWrite(@SystemDir & "\UpDate.dat", @YDAY) EndIf EndIf EndFunc 8) Link to comment Share on other sites More sharing options...
mnchartier Posted November 17, 2005 Author Share Posted November 17, 2005 Thanks for the help, I am trying out the _DatetoDayValue and am getting an error on line 1159 $SYSTEMTIME = DllStructCreate('ushort;ushort;ushort;ushort;ushort;ushort;ushort;ushort") $SYSTEMTIME = ^ERROR Error: Unknown function name I am fairly new to this but have been able to create an install exe for this backup script that installs the script and creates a scheduled task for the backup script to run at the specied time and days selected on the GUI. From what I can see in the date.au3 file the DllStructcCreate is in there. Link to comment Share on other sites More sharing options...
Valuater Posted November 17, 2005 Share Posted November 17, 2005 are you using the BETA version of Autoit3http://www.autoitscript.com/forum/index.ph...pic=10256&st=0#8) Link to comment Share on other sites More sharing options...
mnchartier Posted November 17, 2005 Author Share Posted November 17, 2005 I do have the beta installed and still have that same error have tried toggling the beta on and off Link to comment Share on other sites More sharing options...
mnchartier Posted November 18, 2005 Author Share Posted November 18, 2005 I got it to work I found the Crimson Edit doesnot support the compiling and running of the beta. Below is my script it does use a setting file that is created from a GUI Install to get the Source and Destination Directories. Feel free to make any suggestions. Thanks, ; Includes Date Script into application #include <Date.au3> ; Main Functions of Program Call ("SetDates") Call ("Directories") ; Function SetDates - Sets the date for Deletion Func SetDates () ; Establish Todays date for use in Backup $day = @mday $month = @mon $year = @year $Today = $day & "/" & $month & "/" & $year ; Establish Todays Date for Maintenance Purposes $dday = @mday $dmonth = @mon $dyear = @year $ddate = $dyear & "/" & $dmonth & "/" & $dday ; Julian date of today. $sJulDate = _DateToDayValue (@YEAR, @MON, @MDAY) ; 7 days ago calculation and converts to standard calender format Dim $Y, $M, $D $sJulDate = _DayValueToDate ($sJulDate-7, $Y, $M, $D) ; Set variable $Ddate to proper format for Backup Maintenance $Ddate = ($M & "_" & $D & "_" & $Y) EndFunc ; Directory Function - Sets the Source and Destination Directories for Backup Operation Func Directories () ; Formats the date to be used as the Backup Directory $backdate = $month & "_" & $day & "_" & $year ; Opens the Specified Source Directory to read the Directory Settings File Created from Installation $DirFile = FileOpen ("C:\BackupScript\dirs.txt", 0) ; Reads 2nd Line of File to get the Destination Dircetory $DestDir = FileReadLine ($DirFile, 2) ; Formats the String from the above operation $NewDestDir = StringMid ( $DestDir, 5) ; Closes the File FileClose ($DirFile) ; Creates the new Destination directory with todays date $NewDirect = ($NewDestDir & "\DB" & "_" & $backdate) DirCreate ($NewDirect) ; Stop Avdap Service before coping the DB folder run ("sc stop Avdap","" ,@SW_MAXIMIZE) ProcessWaitClose ( "Avdap") ; Opens the Directory Settings File to get the Source Directory $SourceFile = FileOpen ("C:\BackupScript\dirs.txt", 0) ; Reads the 1st Line to get the Source Destination $SourceDir = FileReadLine ($SourceFile, 1) ; Formats the above String to get the Source Destination $NewSource = StringMid ($SourceDir, 7) $DB = ($NewSource) ; Copys the Source Directory to the Destination Directory DirCopy ($DB, $NewDirect, 1) ; Sets the Search for Delete Backup String $DelBackup = ($NewDestDir & "\DB" & "_" & $ddate) ; Start the Avdap Service run ("sc start avdap") ; Looks for a Backup from 7 Days ago and deletes it If FileExists($DelBackup) Then DirRemove ($DelBackup, 1) Else EndIf EndFunc ; End of Script Exit Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now