The clean, structured way would be to create a function to reset/clear your variables and arrays, and use a loop to go back to the top of your code. Other than that, there are likely a million cheesy ways, here's one of them: #include <Misc.au3> #include <Date.au3> If _Singleton (@ScriptName, 1) = 0 Then ; If process is already running, kill older process ; WinClose("yoohoo") ProcessClose(@ScriptName) EndIf $response = MsgBox(1,"yoohoo",_Now()) If $response = 1 Then Run(@Scrip