What is the difference between the command prompt and PowerShell on Windows?

I realize that there are already questions about what Windows PowerShell is, I want to know what the differences between it and the command prompt are.


Solution 1:

Briefly, the CMD is a simple shell introduced with Windows NT with the same basic syntax and functionality as DOS. It has relatively limited capabilities, especially when compared to *nix shells. PowerShell is a modern shell implementation with all sorts of extra goodies.

The following is an answer given by "Arthur_Li, Microsoft Contingent Staff, Moderator" on http://social.technet.microsoft.com. You can read the thread here.

Windows PowerShell™ is a task-based command-line shell and scripting language designed especially for system administration. Built on the .NET Framework, Windows PowerShell™ helps IT professionals and power users control and automate the administration of the Windows operating system and applications that run on Windows.

Built-in Windows PowerShell commands, called cmdlets, let you manage the computers in your enterprise from the command line. Windows PowerShell™ providers let you access data stores, such as the registry and certificate store, as easily as you access the file system. In addition, Windows PowerShell™ has a rich expression parser and a fully developed scripting language.

Windows PowerShell™ includes the following features:

Cmdlets for performing common system administration tasks, such as managing the registry, services, processes, and event logs, and using Windows Management Instrumentation.

A task-based scripting language and support for existing scripts and command-line tools.

Consistent design. Because cmdlets and system data stores use common syntax and naming conventions, data can be shared easily and the output from one cmdlet can be used as the input to another cmdlet without reformatting or manipulation.

Simplified, command-based navigation of the operating system, which lets users navigate the registry and other data stores by using the same techniques that they use to navigate the file system.

Powerful object manipulation capabilities. Objects can be directly manipulated or sent to other tools or databases.

Extensible interface. Independent software vendors and enterprise developers can build custom tools and utilities to administer their software.

For more information, please refer to the following links:

http://msdn.microsoft.com/en-us/library/ms714418(VS.85).aspx

http://technet.microsoft.com/en-us/magazine/2007.02.powershell.aspx