MODIFICATION - You may encounter problems with the file being deleted before the script actually gets to run it. You should use the following code instead.
Set fileSys = CreateObject("Scripting.FileSystemObject"
Set fileOut = fileSys.CreateTextFile("D:\dotime.bat", True)
fileOut.WriteLine "time %1"
fileOut.Close
Set wShell = CreateObject("WScript.Shell"

timetoset = "09:00:00"
run_this = "dotime.bat " & timetoset
wShell.Run run_this, 1, TRUE
Set fil = fileSys.GetFile("D:\dotime.bat"

fil.Delete
Set fileOut = Nothing
Set wShell = Nothing
Set fil = Nothing
Set fileSys = Nothing
This changes the line:
wshell.Run run_this
to
wShell.Run run_this, 1, TRUE
Which causes the script to wait until completion of the "run_this" command to proceed with processing the script.