I'm not sure I understand what it means to reboot recursively, however if
you're looking to reboot Windows, check out the ExitWindowsEx() function.
It's not scriptable AFAIK, however you can create a simple application which
calls ExitWindowsEx() and then call this application from script.
You can then use the task scheduler to schedule your script to be run at a
certain time.