BrendanB Posted June 16, 2007 Share Posted June 16, 2007 Hi guys, I'm back. I need to implement yet another piece to my ever-growing monstrosity (err.. script..) that pauses its execution. My script is meant to run continuously, but it must pause for two hours nightly, between 11PM and 1AM, so a server can finish its backup. How and where in my script should I implement this function? At the very beginning of the loop? Link to comment Share on other sites More sharing options...
Generator Posted June 16, 2007 Share Posted June 16, 2007 Just check out the help file, here are some ideas. _NowTime -------------------------------------------------------------------------------- Returns the current Time in requested format. #Include <Date.au3> _NowTime ( [$sType] )You can use like this AdibeEnable("_Check",100) While 1 If $Time="23:00:00" Then Do Sleep(1000) Until $Time=1:00:00 EndIf WEnd Func _Check() $Time=_NowTime(5) EndFunc Link to comment Share on other sites More sharing options...
BrendanB Posted June 18, 2007 Author Share Posted June 18, 2007 Just check out the help file, here are some ideas. You can use like this AdibeEnable("_Check",100) While 1 If $Time="23:00:00" Then Do Sleep(1000) Until $Time=1:00:00 EndIf WEnd Func _Check() $Time=_NowTime(5) EndFuncHmm.. keeps asking me for an "Until <expr>" value. I'll look into this function and see what I can come up with. Any other ideas are certainly welcome! Thanks! Link to comment Share on other sites More sharing options...
Valuater Posted June 18, 2007 Share Posted June 18, 2007 Bottom of the 1st page#1337698) Link to comment Share on other sites More sharing options...
BrendanB Posted June 19, 2007 Author Share Posted June 19, 2007 Bottom of the 1st page #133769 8)Thanks. I tried using your code to quit a server app (I have to do two things here). I have to quit this server app and tell a script on another machine to pause, while a third machine (the server) runs its backup. Anyway, for the server-app-quit-script, it's real simple, but it does not work. It needs to run in a continuous loop, so that it can quit the app at one time, and re-launch it at another time, daily: $start = 09 & ":" & 08 ;testing time $start2 = 09 & ":" & 10 ;testing time While 1 $start3 = @HOUR & ":" & @MIN If $start = $start3 Then ;Quittin' time WinActivate("FilePower Disc Server A") Send("!{F4}") WinWaitActive("FilePower") ;The "Are you sure?" dialog box ControlClick("FilePower", "", 6) ;The "Yes" button EndIf If $start2 = $start3 And not WinExists("FilePower Disc Server A") Then Run("I:\WINAPPS\JBSERVER.EXE") EndIf ContinueLoop WEnd Exit Link to comment Share on other sites More sharing options...
PsaltyDS Posted June 19, 2007 Share Posted June 19, 2007 Thanks. I tried using your code to quit a server app (I have to do two things here). I have to quit this server app and tell a script on another machine to pause, while a third machine (the server) runs its backup. Anyway, for the server-app-quit-script, it's real simple, but it does not work. It needs to run in a continuous loop, so that it can quit the app at one time, and re-launch it at another time, daily:Your WinWait's will hang. The while loop will repeat the check in much less than a minute, so the time will still match, but the window will not exist anymore... Valuater's AutoIt 1-2-3, Class... Is now in Session!For those who want somebody to write the script for them: RentACoder"Any technology distinguishable from magic is insufficiently advanced." -- Geek's corollary to Clarke's law Link to comment Share on other sites More sharing options...
BrendanB Posted June 19, 2007 Author Share Posted June 19, 2007 (edited) Your WinWait's will hang. The while loop will repeat the check in much less than a minute, so the time will still match, but the window will not exist anymore... Thanks for the heads up, PsaltyDS. I have reworked the script and it works fine now. (I used a Do loop instead, with some Sleeps thrown in). I'm sure the code is convoluted, but it appears to work correctly now (that's all that matters, right? ) $v1 = 0 ;Do loop variable. $start = 23 & ":" & 30 ;Quit time. $start2 = 01 & ":" & 00 ;Run time. Do $start3 = @HOUR & ":" & @MIN If $start = $start3 Then WinActivate("FilePower Disc Server A") WinClose("FilePower Disc Server A") WinWaitActive("FilePower") ControlClick("FilePower", "", 6) Sleep(70000) ;Sleep for 70 seconds, so as not to repeat this step. EndIf If $start2 = $start3 Then Run("O:\WINAPPS\JBSERVER.EXE") Sleep(70000) ;Sleep for 70 seconds, so as not to repeat this step. EndIf ContinueLoop Until $v1 = 1 ;This will never occur, due to the ContinueLoop call. Exit Edited June 19, 2007 by BrendanB 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