Quick Links

Windows 7 added PowerShell, a more powerful command-line shell and scripting language than the Command Prompt. Since Windows 7, PowerShell has become more prominent, with it even becoming the default choice in Windows 10.

PowerShell is more complicated than the traditional Command Prompt, but it's also much more powerful. The Command Prompt is dramatically inferior to shells available for Linux and other Unix-like systems, but PowerShell competes favorably. In addition, most Command Prompt commands are usable in PowerShell, whether natively or through aliases.

How PowerShell Differs From the Command Prompt

Related: 5 Cmdlets to Get You Started with PowerShell

PowerShell is actually very different from the Command Prompt. It uses different commands, known as cmdlets in PowerShell. Many system administration tasks -- from managing the registry to WMI (Windows Management Instrumentation) -- are exposed via PowerShell cmdlets, while they aren't accessible from the Command Prompt.

Related: Geek School: Learning How to Use Objects in PowerShell

PowerShell makes use of pipes---just as Linux does---that allow you to pass the output of one cmdlet to the input of another cmdlet. Thus, you can use multiple cmdlets in sequence to manipulate the same data. Unlike Unix-like systems---which can only pipe streams of characters (text)---PowerShell pipes objects between cmdlets. And pretty much everything in PowerShell is an object, including every response you get from a cmdlet. This allows PowerShell to share more complex data between cmdlets, operating more like a programming language.

PowerShell isn't just a shell. It's a powerful scripting environment you can use to create complex scripts for managing Windows systems much more easily than you could with the Command Prompt.

The Command Prompt is essentially just a legacy environment carried forward in Windows---an environment that copies all of the various DOS commands you would find on a DOS system. It is painfully limited, can't access many Windows system administration features, is more difficult to compose complex scripts with, and so on. PowerShell is a new environment for Windows system administrators that allows them to use a more modern command-line environment to manage Windows.

When You Would Want to Use PowerShell

So, when would an average Windows user want to use PowerShell?

Related: How To Troubleshoot Internet Connection Problems

If you only rarely fire up the Command Prompt to run the occasional 

        ping
    

 or 

        ipconfig
    

 command, you really don't need to touch PowerShell. If you're more comfortable sticking with Command Prompt, it's not going anywhere. That said, most of those commands work just fine in PowerShell, too, if you want to try it out.

Related: How to Batch Rename Multiple Files in Windows

However, PowerShell can be a much more powerful command-line environment than the Command Prompt. For example, we've shown you how to use the PowerShell environment built into Windows to perform a search-and-replace operation to batch rename multiple files in a folder---something that would normally require installing a third-party program. This is the sort of thing that Linux users have always been able to do with their command-line environment, while Windows users were left out.

However, PowerShell isn't like the Linux terminal. It's a bit more complicated, and the average Windows user might not see many benefits from playing with it.

System administrators will want to learn PowerShell so they can manage their systems more efficiently. And if you ever need to write a script to automate various system administration tasks, you should do it with PowerShell.

PowerShell Equivalents of Common Commands

Many common Command Prompt commands---from 

        ipconfig
    

 to 

        cd
    

 ---work in the PowerShell environment. This is because PowerShell contains "aliases" that point these old commands at the appropriate new cmdlets, running the new cmdlets when you type the old commands.

We'll go over a few common Command Prompt commands and their equivalents in PowerShell anyway---just to give you an idea of how PowerShell's syntax is different.

Change a Directory

  • DOS:  
            cd
        
  • PowerShell:  
            Set-Location
        

List Files in a Directory

  • DOS:  
            dir
        
  • PowerShell:  
            Get-ChildItem
        

Rename a File

  • DOS:  
            rename
        
  • PowerShell:  
            Rename-Item
        

To see if a DOS command has an alias, you can use the 

        Get-Alias
    

 cmdlet. For example, typing  

        Get-Alias cd
    

 shows you that  

        cd
    

 is actually running the  

        Set-Location
    

 cmdlet.

Learn More

Related: Geek School: Learn How to Automate Windows with PowerShell

Want to learn more about PowerShell? Read our series of Geek School articles that will introduce you to PowerShell and help you get up to speed. If you're a Windows system administrator, you should know this stuff.