Ever been on a computer where you did NOT have permission to run "cmd.exe" in order to operate in DOS mode? Maybe you didn't have the option to click "Start" -> "Run"? Do what you want with a simple batch file despite these silly restrictions.
Addendum: This method was used to provide a shell-like interface on an XP machine running Citrix server. The "full desktop" application was published (looks like Remote Desktop) but wouldn't let me use the shell due to security questions. Many have wondered why exactly I did what I've done below, so now you know the context.
Step 1: Create the Batch File
The first step is to create the batch file. Create a new file on your desktop and name it "shell.cmd" or "dos.bat". Name it anything you like as long as the file extension ends in .cmd or .bat.
Inside the file, put the following code:
REM make all environment changes local to the execution of this script.
REM show customized welcome message, version of Windows and a blank line
@ECHO --== Welcome to your customized DOS Batch Shell ==--
REM create loop block where user is prompted for a command and
REM that command is executed, displaying the results.
REM Display working dir prompt, asking for a command.
@set /p USERCMD=%CD%!
REM "quit" or "exit" will both exit this shell.
@IF "%USERCMD%"=="quit" GOTO END
REM execute the received command.
REM go back to the beginning of this block.
REM end local environment changes
REM pause briefly before closing this window
Step 2: Run the Batch File
If you've given the file the proper extension, the icon should look like a window with a gear as seen below. Double-click on it to run it!
Step 3: It Works! (right?)
If everything is working, you should be able to enter most any DOS command (whether interactive or not) and it should function correctly. Although I added a "quit" command that will jump OUT of the execution loop and go to a PAUSE, if you type "exit" the batch file will quit execution and close the window immediately.
I wasn't able to figure out a way to echo the greater-than symbol for use with a prompt, so instead I used the exclamation mark (followed by a space, although you can't tell that from the picture). Go ahead and customize your batch file to suit your needs. Try using ASCII codes that create graphics, tables, and so on. Be creative! Try typing "prompt /?" to get some ideas, too.
I created this batch file out of necessity. While at work I was given a very "nerfed" account on a Windows machine, but really needed the output of some simple DOS commands. I hope you find this useful.