Rumors of Cmd's Death Have Been Greatly Exaggerated (microsoft.com)
Senior Program Manager at Microsoft has responded to speculations that Command Prompt is going away. He writes: The Cmd shell remains an essential part of Windows, and is used daily by millions of businesses, developers, and IT Pro's around the world. In fact:
1. Much of the automated system that builds and tests Windows itself is a collection of many Cmd scripts that have been created over many years, without which we couldn't build Windows itself!
2. Cmd is one of the most frequently run executables on Windows with a similar number of daily launches as File Explorer, Edge and Internet Explorer!
3. Many of our customers and partners are totally dependent on Cmd, and all its quirks, for their companies" existence!
In short: Cmd is an absolutely vital feature of Windows and, until there's almost nobody running Cmd scripts or tools, Cmd will remain within Windows.
1. Much of the automated system that builds and tests Windows itself is a collection of many Cmd scripts that have been created over many years, without which we couldn't build Windows itself!
2. Cmd is one of the most frequently run executables on Windows with a similar number of daily launches as File Explorer, Edge and Internet Explorer!
3. Many of our customers and partners are totally dependent on Cmd, and all its quirks, for their companies" existence!
In short: Cmd is an absolutely vital feature of Windows and, until there's almost nobody running Cmd scripts or tools, Cmd will remain within Windows.
I already wondered when the rumored spread how that should work out in practice, ...
I'm glad! CMD is critical in our company, too.
MS actually does a really good job supporting things for a long time. Some other responses, I'd imagine...
Apple: We're brave enough to stop supporting any version of CMD that came out before this year.
Google: We killed it. Too bad.If you don't buy our ads, then we don't really care about how you use our software.
I don't respond to AC's.
1) Who suggested that it dead?
2) Oh wait, there's no link to an article to state who it said it.
I mean really.....
If you post as Anonymous Coward, don't expect a reply.
C'mon guys, have COURAGE!
2. Cmd is one of the most frequently run executables on Windows with a similar number of daily launches as File Explorer, Edge and Internet Explorer!
The only way they could know that is if they're spying on everyone who uses Windows.
Am I wrong? Is there some other, totally consensual and benign way that they could know this?
MS has an execution count for apps in Windows?
John McAfee 'It was like that time I hired that Bangkok prostitute; to do my taxes, while I fucked my accountant'
Cmd is one of the most frequently run executables on Windows
Possibilities: :-)
1. Microsoft is citing false numbers
2. Microsoft is pulling the info via telemetry
3. Microsoft is using numbers based on Anti-Virus vendors' stats on malware infections
2. Cmd is one of the most frequently run executables on Windows with a similar number of daily launches as File Explorer, Edge and Internet Explorer!
Thanks telemetry!
I haven't used CMD in years at my government IT job. Probably because everyone has PowerShell scripts to run.
Did anyone else read that as CmdrTaco has died, or at least as a hoax of his death?
It could help a little if cmd would start to recognise utf-8 as valid chars instead of being ascii only.
cmd has as far as I know never been ASCII only, but was codepage based in earlier versions, and UTF-16 based in newer versions.
Microsoft Windows [Version 6.1.7601]
Copyright (c) 2009 Microsoft Corporation. All rights reserved.
C:\Users\arth1>echo Encyclopædia
Encyclopædia
Cmd is one of the most frequently run executables on Windows with a similar number of daily launches as File Explorer, Edge and Internet Explorer!
I wonder why they included Edge. I have never seen anyone use it. Is it that popular? I don't think so and the numbers show.
I hope you uploaded that comment with hand-crafted packets or else you're a HYPOCRITE!
I do not want your cheap brainburning drugs. They are useless for work. And I am a working man today.
Of course UTF-16 (or is it UCS-2 in cmd?) is an annoying encoding of unicode. It's variable length like UTF-8, but not ASCII compatible.
XML is like violence. If it doesn't solve the problem, use more.
"The Cmd shell remains an essential part of Windows, and is used daily by millions of businesses, developers, and IT Pro's around the world."
Yeah, whatever. Seriously, since when has dependence on a spec or tool ever stopped Microsoft from abandoning it? I'm not saying they will, but just because people use it means nothing, absolutely nothing to Microsoft. Or to Apple, for that matter. Headphone jack, anyone?
Just cruising through this digital world at 33 1/3 rpm...
and the added difficultly in getting it open with admin rights (which would be the whole point of using PowerShell in the first place).
What is the difficulty exactly? Just right click and hit 'run as administrator'...?
I do not want your cheap brainburning drugs. They are useless for work. And I am a working man today.
I think the Powershell advocates would claim that the power of default carries cmd.
As you say, the security ambitions do a pretty good job of undermining powershell versus cmd. At the same time, cmd undermines the effectiveness of the security policy anyway, since cmd scripts can do whatever they want including making powershell work, so it's both annoying and pretty much useless on that front.
In general, I'd put PowerShell as a language in the neighborhood of Javascript, but with a less powerful syntax. It's amazingly annoying, easily can get into an unmaintanable mess, and yet requires you to 'step up' to C# to get to really useful syntax. Sure, they have a slick way of using .Net things which is really nice for that platform (python's ctypes aren't too shabby either, but compared to doing analogous effort with XS in perl, it is pretty nice).
XML is like violence. If it doesn't solve the problem, use more.
The company that has made backward compatibility a core business principle jettisoning its highly mature command line interface? Only in the fevered dreams of people who still call them stuff like M$...
1. Much of the automated system that builds and tests Windows itself is a collection of many Cmd scripts that have been created over many years, without which we couldn't build Windows itself!
I knew it; their official build script starts with MS-DOS and a batch file kicks off layers of self compilation to cloud-heights and Windows 10!
http://shirtoid.com/164835/aut...
Hint: The Internet chose UTF-8. Get with 10 years ago.
UTF-8 has some major drawbacks. Like needing special routines to calculate string length, or having multiple encodings that give the same result, making binary comparisons impossible when the generators differ, or not being choppable at random points.
Going to a fixed width 32-bit character set would have made life a heck of a lot easier, and conversions to and from 8-bit would have been a breeze.
Unfortunately, the popularity of UTF-8 and UTF-16 makes it unlikely this will happen. Perhaps in another generation we can go to a 64-bit fixed width character set.
If a mindless talking head from Microsoft is publicly denying it, then it must be true.
So, doesn't the CMD shell run by default when you execute CMD.EXE? Was someone planning on changing that?
I'm just glad that Microsoft didn't have the courage to make CMD.EXE work only over a proprietary wireless interface.
UCS-2, unless it changed after Win7. I think .NET and thus power shell are UTF-16, but all the win32/64 stuff is UCS-2. Bit of a mess, but in MS's defense, Unicode wasn't there when this mess got started. UCS-2 was an early attempt at a fixed-width character set. It nearly worked.
Socialism: a lie told by totalitarians and believed by fools.
It is a pretty insignificant part of Windows in terms of the size of the executable. We're already up to distributing Windows on DVD as it is too large for a CD, dropping Cmd isn't going to magically change that. Even for the customers who never use it in their lives, having it around doesn't hurt them.
Damn_registrars has no butt-hole. Damn_registrars has no use for a butt-hole.
Oh look, another person who decides to whine instead of learn.
You can dig deeply into the OS very easily with PowerShell. WMI, registry, ACLs, etc are all easily and cleanly exposed.
The object-oriented nature of the environment is also a godsend for programmers, particularly those with Python/Java/C++/Ruby backgrounds. So much kludging disappears when you can pass a set of objects from one command to the next---because no one should ever forget the terrible text parsing capabilities that are native to Windows.
And, seriously, if you have trouble opening PowerShell with administrative privileges then you need a new job. On a clean install, Server Manager opens up as soon as you login. It is elevated and has a menu to launch PowerShell, so you can open an elevated session with two clicks. Literally two clicks---Tools, then Windows PowerShell.
CMD can do a lot, but it is really, really dated as a system management tool. If you're a Windows admin and haven't learned PowerShell, you're just making your job harder in the long run.
---
According to the latest ruleset, this post should be modded as Vorpal Flamebait +5.
Both pushd and popd work in PowerShell. They're technically aliases for the real PowerShell cmdlets, but they're configured by default.
Group Policy deployment has a lot of caveats and restrictions, so I would be understanding of issues there. Things should be a little better with SMS/SCCM though.
Software vendors like IBM have not provided documentation for automating much of AS/400 configuration with Powershell, it's all CMD scripts.
And this is why Microsoft is keeping CMD around. Converting complex legacy scripts is almost always a nightmare, so it will be a while before stuff like this changes over.
---
According to the latest ruleset, this post should be modded as Vorpal Flamebait +5.
Well, strictly speaking, Unicode was there, but at first UCS-2 was 'the' unicode encoding.
XML is like violence. If it doesn't solve the problem, use more.
I only just recently discovered that Windows 10 has a bunch of improvements to the command line.
Most notably (at least for me) is the addition of CTRL-backspace as well as well as CTRL-C/V for copy paste. I do a lot of stuff on the command line and the added functionality looks really great.
It's just a shame I'm too scared to upgrade to Windows 10 because of all the additional telemetry that seems like a real pain in the ass to disable! (I did see this open source tool that looks like it might be worth keeping an eye on: https://modzero.github.io/fix-... ).
Well, he was saying UTF-8 instead of UTF-16 (well UCS-2...) and UTF-16 has pretty much all the same drawbacks. Of course you said 32-bit but the parent was griping about UCS-2 so there we go.
While variable-length encoding has drawbacks, the problems are pretty well solved and baked into the fundamental portions of languages. Also, only really a challenge for initial import and final export of data, all processing of the data can be encoded in whatever way works best (e.g. I believe it's common for those languages/libraries to use a 32 bit encoding internally to make things easier. The penalty of wrangling variable length encoding on ingest is negligible (particularly compared with all sorts of other circumstances that are also likely to be in play.
XML is like violence. If it doesn't solve the problem, use more.
Click on the fucking link.
systemd is Roko's Basilisk.
I think powershell is a really awkward in-the-middle.
Yes, cmd is terrible. But powershell has issues 'scaling down'. It does a pretty good job, but pretty quickly some little quirk will pop up (like having to precede an invocation with '&' to disambiguate calling a command). Basically it's trying to provide a more capable language (more in the ballpark of python/perl/et al, but there are issues there I'll get to) but trying to be more bash-like. The issue is that no one has really done that, and powershell is no exception. A language focused on supervising external executables just has too tough a time also getting nice features and sanely presenting it all at once. Similarly, the object piping can't be the same between 'native' in-process code and legacy external executables, so you have another concept that presents subtle differences in certain scenarios despite looking the same on the face of it.
On the flip side, it's uglier than a lot of peer interpreted languages. Every time I'm put in a position to write something in powershell, I want to scream (which is better than cmd, which I just won't do, I'll use powershell or even vbs in such a case).
XML is like violence. If it doesn't solve the problem, use more.
Following Microsoft's law of perverse behavior (i.e. If it's obvious, useful and well understood, get rid of it), it should be gone in a year, replaced with a version of the syntactic abomination that is powershell that doesn't support command line behavior and arguments.
Please do not read this sig. Thank you.
i raged so hard the other day when my w10 insider build updated and the shift+rightclick changed to "open powershell here" :( the w10 cmd.exe is actually nice.
I would first question how he could read the post. Can you get Slashdot on Gopher?
I doubt it. But you can get it using lynx (or its frames-enabled cousin links) if you use Linux.
undoing bad mod - disregard
Windows NT was designed by Dave Cutler, who chose C as the language for the NT kernel. It was the most significant impact of UNIX on NT.
Cutler also designed VMS, and likely had deep familiarity with "Digitial Command Language" (DCL) that is a well-built and powerful command processor itself (if you like writing your scripts in FORTRAN).
Cutler wanted to "get UNIX." Why he allowed a product as shockingly poor as cmd.exe to be written for the NT command shell simply baffles me.
The cmd.exe shell is described as a serial killer by Microsoft employees.
I also disagree with elevating BASH. Steven Borne disliked C, and retrofitted ALGOL on it, not only for the parsing syntax that became BASH, but also on top of the C compiler itself.
Cutler had a chance to see source code for multiple OS implementations and their parsers: RSX11, UNIX sh/csh, DEC DCL, and likely many more. How cmd.exe could have emerged from his group is quite simply beyond me.
In other news books will be replaced with movies
Bzzzt! This is Slashdot, where analogies must use cars. In other news, cars will be replaced with horses.
Port bash to windows and ditch that cmd.exe (aka command.com).
You are already missing an opportunity with 4dos since 1989...
Sent as ripples into the electromagnetic field. No single photon has been harmed in the process.
There was a period of a decade or two where you could do everything a Macintosh has to offer without any command line tools. So it's more than just a theory that most people don't need a command line interface. Maybe Windows needs a better GUI before it drops Cmd, but it's not even doing that, it's switching to a slightly different command line interface, PowerShell. It's hard to take hyperbolic statements like "Cmd is an absolutely vital feature" very seriously when other platforms operate with different command line interfaces or no command line interface at all.
“Common sense is not so common.” — Voltaire
CTRL-Backspace is like Ctrl-W on unix terminals (and teletypes) some 30-40 years ago.
$ stty -a
speed 38400 baud; rows 54; columns 157; line = 0;
intr = ^C; quit = ^\; erase = ^?; kill = ^U; eof = ^D; eol = ; eol2 = ; swtch = ; start = ^Q; stop = ^S; susp = ^Z; rprnt = ^R;
werase = ^W; lnext = ^V; flush = ^O; min = 1; time = 0;
“Common sense is not so common.” — Voltaire
I almost feel sorry for Microsoft developers, having to keep maintaining this garbage piece of software from the Windows NT days designed to emulate MS-DOS. Almost. I'm so glad I choose not to work in that awful ecosystem.
lol, that's pretty funny you would think a Windows user (CMD or otherwise) could ever be a "non-luser!"
Parent poster summarizes things well.
Debian's PopCon is similar ( http://www.linuxjournal.com/co... )
o/~ Join us now and share the software
The top reasons why I personally still use the cmd shell in windows
1) ipconfig (verify if DHCP pulled an address, and if so, is it correct with proper default route and DNS servers)
2) ping 4.2.2.2 (verify connectivity to a known public server that will always respond to PING requests, that doesn't need to resolve a DNS name)
Once basic network connectivity issues are address though, in this day in age, most other things have decent 3rd party tools to diagnose and fix issues. I personally keep a shitton of said tools in a folder on my cell phone, so all I need to do is plug in the USB cable and BAM, most everything I need will be at my fingertips.
Fair point - I'd never really thought of UCS as "Unicode", but I guess it's no accident that it's so close to UTF-16.
Socialism: a lie told by totalitarians and believed by fools.
More courage than taking away the head phone jack.
sed -e 's/Chuck Norris/Rajnikant/g' joke > fact
I don't agree with you that Microsoft hated "all things UNIX." If you take the ftp.exe and nslookup.exe files from C:\Windows\System32 and run UNIX strings on them, you will see:
$ strings ftp.exe | grep Cali
@(#) Copyright (c) 1983 The Regents of the University of California.
$ strings nslookup.exe | grep Cali
@(#) Copyright (c) 1985,1989 Regents of the University of California.
Microsoft has certainly swallowed and ingested BSD UNIX code. It would not surprise me if the FTP source code contains fragments from Bill Joy himself.
So why not both get rid of it (as a separate executable) and keep it at the same time by implementing aliases against the equivalent powershell syntax. I don't see why they shouldn't just have powershell recognize a cmd-script or statement for what it is and run the appropriate cmdlet with sensible pre-set defaults that emulate the cmd behavior. Powershell already has aliases, so this wouldn't be very hard to fully implement. It is sort of similar to the way that GNU BASH can be run in posix mode when invoked as 'sh' and recognize a slightly different syntax from the usual gnu-extended version. IIRC, most gnu utilities can be invoked in posix mode and take different argument syntax than what it normally expects in gnu-mode.
I still have docs that refer to UCS-2 as 'Unicode encoding' (the options in that doc were ASCII or 'Unicode', which at the time confused me since I immediately thought '*which* unicode' until I realized the document in question hadn't been updated since 1995 and found out that back then there *wasn't* such a thing as alternative encodings of unicode.
As you can imagine, I learned way more than I ever wanted to know about the history of unicode trying to support those specifications.
XML is like violence. If it doesn't solve the problem, use more.
"Similar number of daily launches as Edge and Internet Explorer." Well, if that is so, then cmd really is dying...
Not everybody has a choice what to use professionally. That makes your comment basically just clueless.
Most ACs are not even worth the keystrokes to insult them. Be generically insulted by this and ignored otherwise.
You can dig deeply into the OS very easily with PowerShell. WMI, registry, ACLs, etc are all easily and cleanly exposed.
Which also makes it a dream for malicious software.
The problem with Powershell is that you learn it and get use to using it and then when you want to deploy something you find that it is removed or disabled via corporate policy because it is dangerous and you are back to cmd and batch scripts.
Holy shit, this exists. I blame you for me learning about it.
Socialism: a lie told by totalitarians and believed by fools.
It's not on fucking Netcraft, that's for sure.
Confucius say, "Find worm in apple - bad. Find half a worm - worse."
"2. Cmd is one of the most frequently run executables on Windows with a similar number of daily launches as File Explorer, Edge and Internet Explorer!"
Hrm, yet using the command line is an argument against using Linux... which is even more curious considering as an end user there is no real reason to use the command line on Linux these days. Only reason I ever do now on desktops/laptops is initial setup where it's just quicker for me to run a script that apt-gets everything I want vs clicking on it in Synaptic.
Twinstiq, game news
Before the noun.
http://esl.fis.edu/grammar/rul...
Everything I write is lies, read between the lines.
On Slashdot? You've got to be kidding!
"When you have eliminated the unacceptable, whatever is left, however improbable, must be the truthiness" - Holmes
UTF-16 also needs special routines to calculate string length, if you get into some other alphabets. There's a lot more than 65,536 code points in Unicode. A strict 16-bit character type (UCS-2) mostly works in Unicode if you stick to certain parts of the world.
Personally, I don't see the need for a 64-bit character set. 32 bits allows for about four billion code points, while Unicode limits itself to about a million and doesn't seen stretched.
"When you have eliminated the unacceptable, whatever is left, however improbable, must be the truthiness" - Holmes
Powershell used to be an optional addition. My wife was very frustrated by that sometime. She wanted to do something, I don't remember what, and every way she saw to do that in windows was in Powershell, which her users didn't have installed.
"When you have eliminated the unacceptable, whatever is left, however improbable, must be the truthiness" - Holmes
Pro's what?
Actually I'm not 100% on this - is this valid because of "Pros" being a contraction of "Professionals"? It hurts my eyes to look at in any case.