News Stay informed about the latest enterprise technology news and product updates.

Build 14971 Drops Cmd.exe for PowerShell

Here’s an interesting tidbit from Dona Sarkar’s announcement for Windows 10 Build 14971 from the Windows Insider Program. Though it appeared on 11/17/16, I’ve been digesting this one for a while. Also, my experiments have produced thankfully positive results. The big news in that blog post is: Build 14971 drops Cmd.exe for PowerShell. The results of this change are best understood in showing output from Winkey-X for 14971 side-by-side with Current Branch.

Build 14971 drops Cmd.exe for PowerShell

Build 14971 on left, Current Branch on right, shows that PowerShell replaces Command Prompt.
[Click on image for full-size view]

Is There a Gotcha in Build 14971 Drops Cmd.exe for PowerShell?

After I’d said: “Yikes!” my immediate concerns produced two burning questions,

  1. Does this mean normal command line syntax won’t work anymore?
  2. Do batch files (ending in .bat or .cmd) run inside PowerShell?

Fortunately, recent experimentation shows that those questions’ answers are good ones. Thus, it’s a relief that normal command line syntax works fine in PowerShell. And for those with large existing collections of batch files, it’s probably equally comforting that batch files run just fine inside PowerShell. But there are some subtleties in running batch files inside PowerShell scripts. Some experimenting with multiple approaches usually produces necessary outcomes. But only bat file invocation and assignment of desirable variables are tricky. This StackOverflow exchange provides details: Safest way to run BAT file from PowerShell script.

Can’t Give Up Cmd.exe?

MS must be learning from past user reactions, because it also published workarounds to keep using cmd.exe instead of PowerShell. For one thing, cmd.exe still works. You can launch it through Cortana (the search box) or through Windowskey-R (the run box). Here’s a quote from Sarkar’s blog post on opting out of this change altogether:

For those who prefer to use Command Prompt, you can opt out of the WIN + X change by opening Settings > Personalization > Taskbar, and turning “Replace Command Prompt with Windows PowerShell in the menu when I right-click the Start button or press Windows key+X” to “Off”.

Maybe MS finally understands that not all Windows 10 users want or welcome every change. Personally, I think this change is a good one. But leaving the door open to old, tried-and-true tools and environments helps maintain good will with those admins and power users who feel differently.

Join the conversation

1 comment

Send me notifications when other members comment.

Please create a username to comment.

You folks really need to stop blowing this out of proportion.

There is virtually noting cmd.exe can do that PowerShell cannot.

There are tons of things PowerShell can do that cmd.exe can only dream about.

As a happy PowerShell user (since it's early beginnings when it was called Monad) Nothing has changed by this move. It's a UI change and nothing more.

Open PowerShell and start typing DOS cmds and watch them all work in 95+% of the cases.

When it doesn't, while in the PowerShell console, just type cmd. There you are back at DOS. Type your DOS commands that did not work while in PowerShell.

When done with the DOS specific stuff, type exit to return to PowerShell.

Yes, PowerShell is different. Yes there's a learning curve. Yet, if we all stuck with the past, we'd all still be using punch card systems. Nothing was wrong with mainframes, well, other than cost, operations, no individual could afford one, etc., etc., etc.