PowerShell是跨平台的,cmd是Windows专用的。

PowerShell有面向对象的管道。

PowerShell能够调用.NET的很多功能。

在windows上cmd和powershell都是命令行执行窗口,Powershell 从 Windows7 时代开始内置于 Windows 系统当中,可以看作是微软对 cmd 的大升级,目前两者并存于 Windows 系统中。
1、powershell功能更加强大可以说分分钟钟秒杀linux的bash,更别说饱受诟病的 cmd;
2、powershell 背后依靠的是一套完整的 .NET 编程体系,其脚本更容易编写且稳健性大大提升。反过来看 cmd,那些完全由各种命令堆砌而成的一条条指令简直就是“小打小闹”;
3、因为 powershell 可以看作 cmd 的超集,所有的常用命令诸如dir, cd, ipconfig等在 powershell 中都能直接使用。但背后的实现方式是完全不同的,powershell 基于完全的面向对象,它通过给函数和对象“起别名”的方式来支持这些旧的命令;
4、powershell支持复杂的管道操作:管道操作的灵感来自 Linux 的 shell,但由于 powershell 将一切都包装成为对象,而不是直接处理字符串,因此其管道操作的灵活程度远在 Linux 的 shell 之上;
5、任何函数与对象都能够通过help *命令来查看其帮助文档(准确来说应该是Get-Help函数,这是更加“面向对象”化的命名方式,而help是它的别名),如果看不明白,加上-examples参数会有应用实例,如果仍看不明白,加上-online参数会打开完整的在线帮助文档;
6、powershell 原生支持将结果导出到html, csv, xml等文件,也可以通过重定向从文件中读取内容。
7、powershell 脚本的语法与高级编程语言非常相近,例如其分支语句if(...){} else{}、循环语句for(...){}与 C 语言别无二致,因而大大提高了编程体验。
8、powershell支持 Debug:虽然这个功能很少用到,但支持 debug 是走向完备编程语言不可或缺的一项功能。


附录:
如何快速打开cmd或powershell?
1.win+R打开“运行”,然后输入cmd或powershell,回车进入;
2.可在打开的文件夹内,直接在地址栏输入cmd或powershell,回车进入;
3.在Windows的搜索应用中输入cmd或powershell,回车进入。
 

更多推荐

windows的cmd和powershell的区别(学习笔记,摘抄版)