Another issue i'm having is whenever I've successfully booted off my USB drive into DOS, i always get asked for the current date and time.
How do i get rid of this?
When DOS boots up, I'm sure you know it looks for Config.sys and autoexec.bat.
If DOS cannot find an autoexec.bat, it gets suspicious, and starts to doubt itself, so it asks you if it <really> knows the correct time.
short answer: create an autoexec.bat file.
Anyway, regarding the original question, pure DOS doesn't have a method of accepting user input built in; however, you can fake it.
if you make a batch like this:
echo Batch Menu Selector
echo Enter your choice:
echo.
echo 1. Start Windows
echo 2. Return to DOS
and then, for each choice, you create a batch file- 1.bat, 2.bat, etc. so when they enter their choice, it starts that batch file.
To segregate this stuff from the rest of the system, you could even put it in it's own folder, say, C:\menu :
so C:\menu would contain menu.bat, 1.bat, 2.bat, etc for each choice.
Then, if you want the menu to start automatically, you do so via autoexec.bat, by adding this to the end of the file:
cd \menu
menu