I have defined the following function, which I have put in file "utilities.el".
(defun command-shell ()
"opens a shell which can run programs as if run from cmd.exe from Windows"
(let ((explicit-shell-file-name "cmdproxy")
(shell-file-name "cmdproxy") (comint-dynamic-complete t))
In my initialization file I have
(autoload 'command-shell (concat my-lisp-area "utilities.el") "sets up a shell buffer for DOS commands" t)
This combination defines a command "command-shell", which initiates a shell buffer in which the shell is "cmd" from MS Window.
In my case cmdproxy.exe is found in "C:\Program Files\emacs-23.3\bin".
My Emacs version is "GNU Emacs 23.3.1 (i386-mingw-nt5.1.2600) of 2011-03-10 on 3249CTO".