I'm trying to find a well written understandable tutorial for beginners trying to use the windows command prompt. I'm working with one such beginner and they keep calling me with questions about commands, and I want a concise tutorial or reference to send them to.

I tried google, with many combinations of the likely search terms, and got nothing but garbage. There's a lot of documents out there, but none of them are what I'd call good.

Does anyone happen to know of a great tutorial for how to use the windows command prompt?

(This is the best I found so far, but the page style is horrible -- you have to turn off the stylesheet in your browser for this one.)

Thanks to Brad for the distinction between DOS and Windows Commmand Line, duly noted.

To those offering up command references, thank you. What I really need is more of a tutorial than a reference: the beginner probably doesn't know what command he is looking for, so the reference is less useful

+1  A: 

I don't know of any good tutorials. You might do better to provide a cheatsheet if what they need is a quick reference.

Derek Park
+2  A: 

This looks like a decent tutorial:

+3  A: 

It sounds like you may be a little confused about the difference between MS DOS and the Windows Command Line. Windows NT/2000/XP/etc does not run on top of DOS. It does, however, have a DOS-like command line interface. But just to be clear, it's not DOS.

A comprehensive list of windows commands can be found here.

Brad Barker

In there is a reference for Windows commands and another one for PowerShell commands. I think that PowerShell may be a better option than the bare Windows command line, you can be a lot more productive than using the standard commands (my 2 cents)

+5  A: 

Unless you have a specific reason to use cmd.exe, I'd recommend installing Cygwin (just accept all the defaults when installing) and finding some bash tutorials - bash being the default shell used by both Cygwin and many/most(?) Linux/BSD distros, and OS X (since Tiger I think?)

The reason I'd recommend it is because if you can use it, you can pretty much use any linux, BSD or OS X machines terminal. It's also absurdly nicer and more useful than cmd.exe

That said, if you are doing primarily-Windows stuff, I'd probably look into PowerShell, although I've never used it.

+10  A: 

Please do yourself a favor and just download Powershell. I was once a heavy user of the DOS command line, and before that a heavy user of the UNIX command line. PowerShell is not only more powerful, giving you complete access to all of .NET, but it is also the future. It is a very functional language, and thus will help you to start thinking functionally, so you'll have a better understanding of LINQ and F#.

The best Powershell book today is Windows PowerShell in Action.

Powershell is not easy to learn, but no command shell worth using is easy. I do have several non-programmer friends who I have introduced to Powershell and they love it.

PowerShell in Action is great!
s t
Here's a free powershell book provided by Microsoft.
Marc Vitalis
+2  A: 

In windows XP, search for: "command-line reference A-Z" in the system help.

An extensive usage guide is given for every single command available in the command-line.


CMD.exe, which is the default Command Prompt for all versions of modern Windows, is mostly DOS-derived. It's not DOS, but most of the core DOS commands and DOS syntaxes are available in cmd.exe. The script files (.bat files) work pretty much the same. DOS was around in the 80s and 90s but there are lots of DOS tutorials throughout the Internet.

The recommendation of PowerShell really depends on what you're trying to do. If you're trying to shuffle files around or invoke programs with arguments, etc., stay far, far, away from PowerShell as my experience with PowerShell for day-to-day file shuffling and program execution w/ arguments has been an absolute nightmare because of syntax differences such as how PS handles quoted quotation marks in arguments, etc. However, PowerShell is incredibly helpful for doing very advanced computing tasks from the command line; it's literally programming with real objects, using a super-terse syntax that allows you to write in one line of code what would probably take about 100 lines of code in C# (and would often be impossible in DOS or even in Cygwin's/Linux's bash without writing portions in an OOP language like Perl).


The definitive text for CMD on the entire NT family (and descendants) is Tim Hill's Windows NT Shell Scripting.

This book and CMD itself are getting a little long in the tooth, which is why people recommend PowerShell. And yes, PowerShell is very nice for many things. But the problem of PowerShell is: it's not installed by default on any Windows below Server 2008. So first you install it, then you run your script.

When you need to run the same script on a lot of systems and do not want to have to first install the interpreter, CMD and WSH/VBscript are still the reigning kings, for this reason. Also, cmd can do a lot more than most people think!