Super User is a question and answer site for computer enthusiasts and power users. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

M-x cmd runs the cmd, but upon typing ... well, anything ... I get "no answer".
How can I get plain old cmd in a separate emacs buffer? Like the one I would get by typing Win-R cmd?

p.s. Emacs newbie here ... just playing with it for a bit ... go easy on the flames ...

share|improve this question
(That's the correct behavior because cmd.exe is only the command interpreter (i.e. like bash) and conhost.exe is the thing that actually draws the window (i.e. like xterm). To get a new window, use start.exe.) – Jan 7 '12 at 22:16 - I don't really care about the "correct" behaviour, more about the one I want. Is there a way then to get cmd in emacsw32? – Rook Jan 7 '12 at 22:31
I don't use emacs, but if you run start, it should open cmd.exe in a new window by default. – Jan 7 '12 at 22:38 - Okey, yes, but what good is that? I mean, I know how to get a new cmd window, but I want it inside emacs, not as a separate window. – Rook Jan 7 '12 at 23:43

Try M-x shell. A shell within emacs is even better than a command prompt.

share|improve this answer
I found "shell", but I need cmd. Some of my stuff depends on cmd behaviour. – Rook Jan 7 '12 at 20:50
There is also M-x term, though I haven't used it myself, so I don't know if it works on Windows. – Tom Jan 8 '12 at 8:05
No, I don't seem to have it (asks for an exe to run). – Rook Jan 8 '12 at 12:24

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".

share|improve this answer

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .