This is not a question regarding which is better; I am purely interested in use cases where PowerShell cannot perform the same functions that CMD can.

The only thing that comes to mind for me is that batch files will essentially run in any Windows environment; the user double clicks a batch file or calls it from another program and it executes.

With PowerShell scripts, as far as I know, you can't simply click them to run. To provide similar functionality, you would need to wrap the execution of the script in a batch file or something:

powershell.exe -Command fileName.ps1
powershell.exe -executionpolicy remotesigned -File fileName.ps1

This post pretty much says PowerShell can do everything CMD can do and more, although PowerShell (as of 3 years ago) doesn't support symbolic links.

I also saw a reddit post that had a question regarding a homework assignment which involved writing a batch script. Is CMD still being actively taught in schools?

closed as primarily opinion-based by joeqwerty, CharlieRB, Zoredache, dbenham, Mokubai Oct 17 '14 at 21:10

Many good questions generate some degree of opinion based on expert experience, but answers to this question will tend to be almost entirely based on opinions, rather than facts, references, or specific expertise. If this question can be reworded to fit the rules in the help center, please edit the question.

  • Just use whichever is relevant at the time. CMD is nice and lightweight and is good for existing scripts and for simple things there is no reason not to use it, powershell is has a more powerful syntax. – Mokubai Oct 17 '14 at 21:12
  • How is this not a dupe of superuser.com/questions/370353/…? – Ƭᴇcʜιᴇ007 Oct 19 '14 at 14:16