cmd vs Powershell  

77 members have voted

  1. 1. Which would you like to see in Windows 8?

    • Powershell default, cmd alternative
    • cmd default, Powershell alternative (Currently in Windows 7)
    • Powershell default, no cmd at all
    • cmd default, no Powershell at all


Recommended Posts

  On 30/10/2011 at 22:15, n4cer said:

cmd can't be removed as it would break existing scripts and applications that call cmd.

Though PowerShell has aliases for many cmd built-in commands, the cmdlets for which the aliases are mapped do not support the switches of the cmd commands (e.g., you can't do "dir /w" in PowerShell). Variable syntax is also different (e.g., %windir% in cmd vs $env:windir in PowerShell).

PowerShell is getting ever increasing usage as the underpinning for Windows administration and troubleshooting functionality. While it should see greater exposure, such as adding it to the Ribbon and the context menu ("Open PowerShell here"), cmd should not be removed to elevate PowerShell unless the use cases for cmd are covered by PowerShell. It's not like cmd is the only shell besides PowerShell that currently ships with Windows. Its presence doesn't diminish PowerShell.

Nor is it meant to.

Add-on command shells have existed for NT-based flavors of Windows from the beginning (two of the more well-known were the Hamilton C Shell, a straight-up port of the Bourne Again Shell (bash) to NT, and 4NT (and 4NT alternative TakeCommand) from JP Software) - PowerShell isn't meant to take away from that. (Bash certainly hasn't taken away the usefulness of other shells anywhere else - including Linux distributions, MacOS, or even UNIX, where bash began.) The reason, in fact, for the popularity of bash as a shell is the fact that the same commands are usable regardless of the underlying OS. PowerShell, unlike bash, is designed expressly for Windows - it's far from OS-neutral. Most of the documentation for PowerShell is on the *server* side of Windows (that is despite the reality that PowerShell is usable by Windows 7 today) - generally, unless you have a niche usage that PowerShell fits, you likely won't be running PowerShell on Windows 7 (though you certainly can).

  On 30/10/2011 at 20:42, Taranaich said:

So install Bash. You can do that.

Cmd maybe, but don't think you've actually tried PowerShell or you wouldn't be saying that. It's quite powerful. Bash is good yes,but looking over what Bash has built in, nothing really jumps out as being something that others can't do or just doesn't apply.. most of it's goodies come from external programs or scripting languages, most of which are available to other shells.

True. The very attraction of bash is that it is OS-neutral - it works the same regardless of the underlying operating system. (Have we forgotten one of the very first NT CMD alternatives, the Hamilton C Shell? It was, in fact, a direct port of bash (which stands for the Bourne Again Shell, which itself was a fork of ash) to NT 3.1/9x. The Hamilton C Shell was one of my favorite *jaw-dropper* programs during the Windows 95 beta, because it was an NT program that ran *untouched/unaltered* on 9x.) Most CMD alternatives (including PowerShell) are designed to fill in niches.

  On 30/10/2011 at 17:38, htcz said:

Why invoke cmd just to ping an asset?

And the link you posted to........is that really a reason to use cmd over Powershell? :rolleyes: come on....

Let me ask you a question. You made a poll here, right? Then you ask everyone's opinion, when someone gives it you just come with all your love for Powershell. I know the differences between CMD and Powershell and that's why I posted my goddamn opinion.

I don't think really think people understand what powershell is. In some ways its more powerful then bash and other ways its more awkward. But I do think it really is getting better/ more powerful with each version. In Windows 8 server powershell knowledge looks like it almost most know.

Windows needs a more powerful default command interpreter. Powershell is worlds ahead of the stock "cmd", and seems to effectively rival things like BASH in *nix by allowing complex scripting and greater access to system resources.

The old school cmd needs to go away, especially since Powershell can run all the normal commands anyway.

  On 30/10/2011 at 19:51, Aethec said:

It seems many people here don't understand what CMD is.

Short explanation: CMD is a console window that provides basic functionality for changing the current directory (cd), showing the files and folders (dir) and a few other things (copy, auto-completion, command history...). The most important thing it does is to enable you to open files, give arguments to executables, and provide input and output for console applications.

What you're doing by calling "robocopy C:\SomeFolder C:\SomeOtherFolder" is launching robocopy.exe using "C:\SomeFolder" and "C:\SomeOtherFolder" as parameters. "tree C:\" just calls tree.com with "C:\" as a parameter. "ping google.com" calls ping.exe with "google.com" as parameter. And so on.

These programs (not commands - check your C:\Windows\System32 folder) can be used exactly the same way in PowerShell, and their output will look exactly the same.

In fact, if Microsoft set the default background color to black in PowerShell and removed the "PS" at the beginning of each line, most people wouldn't notice the difference. You would still be able to use the programs you use now.

Great post :)

  On 30/10/2011 at 20:01, Joey S said:

cmd and Powershell are like kids toys by comparison

cmd of course but Powershell.........Powershell and bash can compete pretty good with each other :)

  On 30/10/2011 at 20:42, Taranaich said:

Cmd maybe, but don't think you've actually tried PowerShell or you wouldn't be saying that. It's quite powerful. Bash is good yes,but looking over what Bash has built in, nothing really jumps out as being something that others can't do or just doesn't apply.. most of it's goodies come from external programs or scripting languages, most of which are available to other shells.

Another good post.

Lets not make this a bash vs Powershell thread :p

  On 30/10/2011 at 20:53, ThePitt said:

wtf is powershell?

I already posted this: http://en.wikipedia.org/wiki/Windows_PowerShell

  On 30/10/2011 at 21:20, pupdawg21 said:

Powershell is NOT a replacement for CMD and ALL commands do not work in the same manner or using the same syntax in the 2 environments. Many of the most commonly used ones do however.

As Aethec said, from CMD you are actually calling other programs. (stated in %PATH) so in a sense you can use all the commands in CMD in Powershell as well. There might be some conflicts with Powershell commands but thats why I stated that if a program calls cmd then executes a command, Powershell should start up in a cmd compatibility mode.

  On 30/10/2011 at 22:15, n4cer said:

cmd can't be removed as it would break existing scripts and applications that call cmd.

Though PowerShell has aliases for many cmd built-in commands, the cmdlets for which the aliases are mapped do not support the switches of the cmd commands (e.g., you can't do "dir /w" in PowerShell). Variable syntax is also different (e.g., %windir% in cmd vs $env:windir in PowerShell).

I already commented on this :) If a program calls cmd then executes a command, Powershell should start up in a cmd compatibility mode. This way it is backwards compatible.

  On 30/10/2011 at 22:15, n4cer said:

PowerShell is getting ever increasing usage as the underpinning for Windows administration and troubleshooting functionality. While it should see greater exposure, such as adding it to the Ribbon and the context menu ("Open PowerShell here"), cmd should not be removed to elevate PowerShell unless the use cases for cmd are covered by PowerShell. It's not like cmd is the only shell besides PowerShell that currently ships with Windows. Its presence doesn't diminish PowerShell.

That would be the only thing neccesary

  On 31/10/2011 at 00:28, bruNo_ said:

Let me ask you a question. You made a poll here, right? Then you ask everyone's opinion, when someone gives it you just come with all your love for Powershell. I know the differences between CMD and Powershell and that's why I posted my goddamn opinion.

Obviously since you have no argument, you simply state it is your opinion. While I do find your opinion valid, there is no base to it therfore I can not agree with it.

  On 31/10/2011 at 09:55, DonC said:

I'd use powershell by default if it:

1. Started up as quickly as cmd

2. Had a convenient and reliable phrase in the start menu. PowerPoint gets in the way!

1. It will get better :)

2. Put "powers" and it is the first thing to come up. Come on, another lame excuse.

  On 31/10/2011 at 00:39, Melfster said:

I don't think really think people understand what powershell is. In some ways its more powerful then bash and other ways its more awkward. But I do think it really is getting better/ more powerful with each version. In Windows 8 server powershell knowledge looks like it almost most know.

That's because PowerShell is not as well documented as the CMD interpreter - which makes sense, as CMD goes all the way back to the beginning of Windows NT itself.

PowerShell was designed as an alternative shell (similar to bash/bsh/ash/csh) for housekeeping/scripted commands primarily for the *server* side of Windows (specifically, Server 2003) - while it (like all the NT-based shell alternatives, from Microsoft and everyone else) is also usable on the desktop (XP and later, in the case of PowerShell), the documentation on the desktop side of things is rather sparse, compared to the server side of PowerShell's documentation.

(BSH is the original Bourne Shell, and has basically been superseded by bash.)

  On 31/10/2011 at 05:44, osuwildlifer said:

if you do it that way, the cmd window disappears as soon as the pings finish.

You ping, you see the response on the screen, and then the screen goes away. I can see special case scenarios where you may want the command window to persist, but for just finding out if a resource is reachable, what is the issue?

  On 05/11/2011 at 19:51, surrealvortex said:

You ping, you see the response on the screen, and then the screen goes away. I can see special case scenarios where you may want the command window to persist, but for just finding out if a resource is reachable, what is the issue?

The issue on all systems I've ever done that on is that the cmd window disappears too quickly to read the results. Is that not the case in your situation??

  On 05/11/2011 at 23:29, osuwildlifer said:

The issue on all systems I've ever done that on is that the cmd window disappears too quickly to read the results. Is that not the case in your situation??

ping address -t

;) Ping won't stop until you use Ctrl+C

Dunno about the people saying PS takes longer to load. It loads just as quick as CMD on my system at work. I'm constantly between the two, honestly. I think because I've been using CMD so long, that its just out of natural habit.

  On 05/11/2011 at 23:58, osuwildlifer said:

Ha! Well, you didn't specify that ;-) And the person who posted that method as a suggestion didn't either.

You can run any command from the search bar using either CMD or PS:

cmd /k ping google.com
powershell -noexit -command ping google.com

It opens a new CMD window and executes the command, but doesn't close afterwards.

Fun thing to do: Launch powershell.exe from CMD, or cmd.exe from PowerShell.

  On 07/11/2011 at 17:02, Aethec said:

You can run any command from the search bar using either CMD or PS:

cmd /k ping google.com
powershell -noexit -command ping google.com

It opens a new CMD window and executes the command, but doesn't close afterwards.

I can see in PATH being stored a variable that if you call CMD or command it executes powershell -noexit -command %s in Windows 8/

  On 08/11/2011 at 10:39, osuwildlifer said:

^ nice! Didn't know you could do that. (Y)

What he posted or calling cmd from Powershell and Powershell from cmd?

  • 11 months later...
  On 24/10/2012 at 23:12, Nicole Hamilton said:

Thank you for remembering my Hamilton C shell.

But a correction, if I may: Hamilton C shell is not a port of anything. I wrote every line from scratch myself for this product and first released it in December 1988, about 7 months before Brian Fox released his bash shell. It's much, much faster than bash on Windows for several reasons. First, I have a better compiler front end; it's faster at parsing statements and generating an optimized internal representation. Second, it's still the only multi-threaded Unix-style shell in existence. Third, it's written explicitly for Windows. It goes straight to the underlying Win32 API for everything. I don't even use the C runtime anywhere performance counts. I definitely don't use a big slow DLL like Cygwin uses to try to map Unix system calls onto Windows.

Also, news for those who might have been interested but were concerned about cost: For personal use, it's now just $89 and that covers all your personal devices. There's also a fully functional free demo version.

I would wager that the big reason that folks liked Cygwin was due to the backing of it by RedHat, Inc. (RHI).

However, you're right, Cygwin is huge and horribly unwieldy.

The Hamilton C Shell and other command shells, such as 4NT and TakeCommand, (and PowerShell, of course) are far from unwieldy.

I first read about the Hamilton C Shell back in the early days of NT, and I was referring specifically to your NT port of the Shell.

  On 27/10/2012 at 17:50, reaper1576 said:

I'm to used to DOS but I do need to learn how to use PowerShell. Anyone got any good links to stuff for learning PowerShell?

There are several Microsoft Press books on using PowerShell - the biggest criticism I have for *all* of them is that they are designed for server admins. (There is not a single PowerShell book for desktop admins, or even desktop usage - despite PowerShell itself having been included with desktop Windows since XP Service Pack 3, and addable to desktop Windows since XP Service Pack 2. What little I know about using PowerShell - which is very little - comes from Windows Server 2008R2/2012.)

For that matter, I'd like to be able to add a separate PowerShell prompt (ala Server 2012) to the QuickTask power users' menu, instead of having to right-click on a contextual menu in Explorer.

This topic is now closed to further replies.
  • Recently Browsing   0 members

    • No registered users viewing this page.
  • Posts

    • Well, that's good to hear. No one here wants MAGAs to breed.
    • OpenAI announces significant updates to Codex and voice agent tools by Pradeep Viswanathan Apart from serving the ChatGPT experience to hundreds of millions of users everyday, OpenAI is also engaged in providing its platform for developers creating AI applications. OpenAI is popular among developers not just for its cutting-edge models, but also because of its strong tooling and support for developers. Today, OpenAI announced two significant updates for developers. The first is about Codex, OpenAI’s software engineering agent. OpenAI is now making Codex available to ChatGPT Plus users. For a limited time, ChatGPT Plus users will be able to enjoy generous usage limits, but OpenAI will rate-limit them during high-demand periods. Codex can now connect to the internet to install dependencies, upgrade packages, run tests that need external resources, and more. OpenAI specified that internet access is off by default, but users can enable it for specific environments. Users can also control the specific domains which Codex can access and more. This Codex Internet access capability is available for ChatGPT Plus, Pro, and Teams users, and it is coming soon to Enterprise users. With today’s update, Codex users can now update existing pull requests when following up on a task. Finally, users can now dictate tasks to Codex. Apart from the above and bug fixes, OpenAI has made the following improvements to Codex: Added support for binary files: When applying patches, all file operations are supported. When using PRs, only deleting or renaming binary files is supported for now. Improved error messages for setup scripts. Increased the limit on task diffs from 1 MB to 5 MB. Increased the limit for setup script duration from 5 to 10 minutes. Polished GitHub connection flow. Re-enabled Live Activities on iOS after resolving an issue with missed notifications. Removed the mandatory two-factor authentication requirement for users using SSO or social logins. The second major update from OpenAI today is about voice agents. OpenAI’s Agents SDK is now available in TypeScript and it comes with support for handoffs, guardrails, tracing, MCP, and other core agent primitives. This SDK also includes new support for human-in-the-loop approvals, allowing developers to pause tool execution, serialize and store the agent state, approve or reject specific calls, and resume the agent run. OpenAI also released an updated speech-to-speech model with improvements in instruction-following reliability, tool-calling consistency, and interruption behavior. Also, developers can now customize how fast the voice speaks during each session. Developers can now access the updated model via gpt-4o-realtime-preview-2025-06-03 in the Realtime API and gpt-4o-audio-preview-2025-06-03 in the Chat Completions API. Finally, the Traces dashboard now supports Realtime API sessions, allowing developers to easily visualize voice agent runs, including audio input/output, tool invocations, and interruptions.
    • VirtualBox 7.1.10 by Razvan Serea VirtualBox is a powerful x86 and AMD64/Intel64 virtualization product for enterprise as well as home use. Targeted at server, desktop and embedded use, it is now the only professional-quality virtualization solution that is also Open Source Software. Presently, VirtualBox runs on Windows, Linux, macOS, and Solaris hosts and supports a large number of guest operating systems including but not limited to Windows (NT 4.0, 2000, XP, Server 2003, Vista, 7, 8, Windows 10 and Windows 11), DOS/Windows 3.x, Linux (2.4, 2.6, 3.x, 4.x, 5.x and 6.x), Solaris and OpenSolaris, OS/2, OpenBSD, NetBSD and FreeBSD. Some of the features of VirtualBox are: Modularity. VirtualBox has an extremely modular design with well-defined internal programming interfaces and a client/server design. This makes it easy to control it from several interfaces at once: for example, you can start a virtual machine in a typical virtual machine GUI and then control that machine from the command line, or possibly remotely. VirtualBox also comes with a full Software Development Kit: even though it is Open Source Software, you don't have to hack the source to write a new interface for VirtualBox. Virtual machine descriptions in XML. The configuration settings of virtual machines are stored entirely in XML and are independent of the local machines. Virtual machine definitions can therefore easily be ported to other computers. VirtualBox 7.1.10 changelog: VBoxManage: Fixed a crash when running 'guestcontrol run' on Windows hosts (bug #22175) Audio: Fixed device switching on Windows hosts (bug #22267) Windows host installer: Fixed multiple installation entries in the 'Add or remove programs' dialog and upgrade issues Linux host: Fixed issue which caused VM Selector process crash due to missing libdl.so and libpthread.so libraries (bug #22193) Linux host: Removed libIDL as a build time dependency when building VirtualBox from source code (bug #21169) Linux guest and host: Added initial support for kernel 6.15 (bug #22420) Linux guest: Added initial support for kernel 6.16-RC0 Linux guest and host: Fixed issue with building modules for UEK8 kernel on Oracle Linux 9 distribution RDP: Fixed issue when it was not possible to paste clipboard buffer into a guest over RDP remote session Download: VirtualBox 7.1.10 | 119.0 MB (Open Source) Download: VirtualBox 7.1.10 Extension Pack | 21.9 MB View: VirtualBox Home Page | Screenshot Get alerted to all of our Software updates on Twitter at @NeowinSoftware
    • I think the reason is, it is cross platform.
  • Recent Achievements

    • Week One Done
      jrromero17 earned a badge
      Week One Done
    • One Month Later
      jrromero17 earned a badge
      One Month Later
    • Conversation Starter
      johnwin1 earned a badge
      Conversation Starter
    • One Month Later
      Marwin earned a badge
      One Month Later
    • One Year In
      fred8615 earned a badge
      One Year In
  • Popular Contributors

    1. 1
      +primortal
      236
    2. 2
      snowy owl
      156
    3. 3
      ATLien_0
      139
    4. 4
      Xenon
      131
    5. 5
      +FloatingFatMan
      128
  • Tell a friend

    Love Neowin? Tell a friend!