1、前言:本文给大家简单描述了一下POWERSHELL和CMD的区别,简单的说,Powershell是cmd的超集,换句话说,cmd能做的事情,Powershell都能做,但是Powershell还能额外做许多cmd不能做的活。

2、

cmd是和powershell都可以做命令行交互,批处理和powershell脚本功能也相当。

我不知道你怎么理解cmd,但下面是powershell是基于.net的,只要你足够了解.net,你可以使用她做任何你想做的事情。

Windows PowerShell 是专为系统管理员设计的新 Windows 命令行 shell。Windows PowerShell 包括交互式提示和脚本环境,两者既可以独立使用也可以组合使用。

与接受和返回文本的大多数 shell 不同,Windows PowerShell 是在 .NET Framework 公共语言运行时 (CLR) 和 .NET Framework 的基础上构建的,它接受和返回 .NET Framework 对象。环境中的这一根本更改带来了管理和配置 Windows 的全新工具和方法。

Windows PowerShell 引入了 cmdlet(读作“command-let”)的概念,这是内置到 shell 中的一个简单的单一功能命令行工具。可以分别使用每个 cmdlet,但是组合使用这些简单的工具执行复杂任务时才发挥其作用。Windows PowerShell 包括一百多个基本的核心 cmdlet,您可以编写自己的 cmdlet 并与其他用户共享它们。

与许多 shell 一样,Windows PowerShell 为您提供了对计算机上文件系统的访问。此外,使用 Windows PowerShell 提供程序还可以访问其他数据存储,如注册表和数字签名证书存储,就像访问文件系统一样容易。

简单的说,Powershell是cmd的超集,换句话说,cmd能做的事情,Powershell都能做,但是Powershell还能额外做许多cmd不能做的活。

主要是系统管理功能、脚本语言和在线帮助更强大,你确实可以只把它当成cmd来用,也可以学和用得更深

powershell的优点

没有做不到,只有想不到。用 PowerShell 甚至可以 Load C/C++ 写的 dll,然后执行里面的代码,COM 就不说了。跑题了,题主问不同,窃以为 PowerShell 和 cmd 最大的不同,并且也是和其它 *nix Shell 最大的不同在于 PowerShell 的 pipe 传递的是 .net object,而不是 raw 字符串,于是这就打开了一扇神奇的大门,因为 PowerShell 的一切组件都可以和谐地共存,彼此不用互相猜忌,不用猜你喂给我的数据合不合法,也不用担心我喂给你的参数格式对不对。大家共享一个 CLR,拥有丰富的 metadata,自由自在地在 .net 的世界里徜徉和探索。顺带宣传一下 https://chocolatey.org/ ,Windows 的 apt-get,基于 PowerShell

PowerShell为什么强大

微软是一个很”低调”的公司,取名为微软,感觉有“微微软下去”的意思,这是个玩笑了。windows 操作系统 和office办公软件,如此之优秀,微软也没敢命名为PowerOS 和 PowerOffice,但是在Monad(PowerShell的前身)发布后的第二年(2006年),微软就直接就发布了Windows PowerShell 1.0,并且”大言不惭“地命名为PowerShell,这也有点太不淡定了。

今天我根据自己的体验来稍微总结一下为什么PowerShell如此之强大。

破天荒的方便

诸如存储计算中GB,MB,KB单位等;数组声明中的1..n和下标为-1的处理;还有所见即所得,通俗易懂的动词+名词结构Cmdlet。

面向对象

与面向过程相比,面向对象更方便更容易描述现实世界,也算赶上了时髦。

绑上.NET这棵大树

正所谓大树下面好乘凉,PowerShell绑上.NET这个大款了,借助.NET Framework平台强大的类库,几乎让一切都成为可能。

强大的兼容性

完全兼容windows 平台上其它调用,如可执行文件(exe),批处理bat和vb script等。

基于平台的可扩展性

微软有个优点,与应用相比,它更喜欢做平台。PowerShell早已变成一个平台,在PowerShell 刚发布的第二年,微软的System Center Operations Manager 和 SharePoint就提供了针对该平台的组件,后来的活动目录,Hyper-V,Windows Azure,Office 365就更不用说了。除了微软,亚马逊的云平台管理,Dell的out-of-hand 管理,也都提供了基于PowerShell的管理组件。PowerShell 俨然变成了一个标准,变成了一个规范。

举例介绍
如果您第一次听说过PowerShell,想稍微观望下,且看下面的10个例子。

[数学计算] (39+79-51)*497/28 = ?
心算再快,应当也没有敲回车键快吧:

1
2
PS> (39+79-51)*497/28
1189.25

[日期] 距离下一个情人节还有多少分钟?
我知道距离多少天好算,如果变成分钟呢?

1
2
3
4
5
6
7
8
$now=Get-Date
$day=[datetime]'2-14'
if($now -lt $day ){
$day.Subtract($now).TotalMinutes
}
else{
$day.AddYears(1).Subtract($now).TotalMinutes
}

[容量] 3GB > 3145726KB吗 ?

1
2
PS> 3gb -gt 3145726kb
True

[ID]能产生一个GUID吗?

1
2
3
4
5
PS> [guid]::NewGuid()
Guid
----
0f283ab4-f402-400c-98ce-359442f11f1a

[文件] Windows目录下所有可执行文件exe的大小是多少?

1
dir $env:windir -Filter *.exe | measure -Sum Length

[注册表] 注册表路径HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\.NETFramework 下 ‘Enable64Bit'的值是多少?

1
(Get-ItemProperty -Path hklm:SOFTWARE\Microsoft\.NETFramework ).Enable64Bit

[证书] 指纹为[28DE15612AFF1CD69596AB17AF06AE86CB9C003B]的证书在证书存储区吗?

1
2
ls Cert:\LocalMachine\My\ |
where { $_.Thumbprint -eq '28DE15612AFF1CD69596AB17AF06AE86CB9C003B' }

[服务] 打印机服务有没有启动呢?

1
Get-Service spooler

[进程] 当前运行了多少个IE进程?

1
(Get-Process iexplore ).count

[报表] 将所有运行的进程信息导出为HTML报表?

1
Get-Process | ConvertTo-Html | Out-File a.html

现在知道了powershell的强大了吧,在windows平台powershell还是比较好用的。

---------------------
作者:《小小火车》
来源:CSDN
原文:https://blog.csdn.net/qq_29166327/article/details/79461748
版权声明:本文为作者原创文章,转载请附上博文链接!

[转]浅谈CMD和win powershell的区别相关推荐

  1. mybatis与php,浅谈mybatis中的#和$的区别

    浅谈mybatis中的#和$的区别 发布于 2016-07-30 11:14:47 | 236 次阅读 | 评论: 0 | 来源: 网友投递 MyBatis 基于Java的持久层框架MyBatis 本 ...

  2. 浅谈Android onTouchEvent 与 onInterceptTouchEvent的区别详解

    浅谈Android onTouchEvent 与 onInterceptTouchEvent的区别详解 本篇文章小编为大家介绍,Android onTouchEvent 与 onInterceptTo ...

  3. 什么是proxy服务器代理?怎么设置代理服务器?浅谈服务器代理与VPN的区别

    服务器 服务器是计算机的一种,它比普通计算机运行更快.负载更高.价格更贵.服务器在网络中为其它客户机(如PC机.智能手机.ATM等终端甚至是火车系统等大型设备)提供计算或者应用服务.服务器具有高速的C ...

  4. 浅谈机器学习-回归与分类的区别

    前言 机器学习的主要任务便是聚焦于两个问题:分类和回归.本文将浅谈下两者的区别. 区别 回归会给出一个具体的结果,例如房价的数据,根据位置.周边.配套等等这些维度,给出一个房价的预测.         ...

  5. 浅谈云计算与超融合的区别和联系

    在项目设计阶段遇到了云计算和超融合的实际运用的问题,虽然自己本身不负责设计,但是对于云计算与超融合的区别也不了解,故查了一些资料,由此谈一下自己的理解,内容干干巴巴不瞎扯,不当之处欢迎交流指正. 在谈 ...

  6. 浅谈php7 引入的“??“和 “?:“的区别

    很多人在代码的编写过程中都会大量使用三目运算,原因无它,只因为这样可以是自己的代码看起来更加简洁高效!!! 不可否认,三目运算确实方便了"你,我,他".而为了使用方便php版本7 ...

  7. html5的api有什么区别,HTML入门--浅谈HTML和HTML5有什么区别?

    1.首先讨论什么是HTML5? 首先,HTML5是最新的HTML标准,HTML5拥有新的语义.图形以及多媒体元素.HTML5提供了新元素和新的API简化了web应用程序的搭建.HTML5是跨平台的,可 ...

  8. 浅谈c/c++typedef和#define区别[转]

    在C/C++中,我们平时写程序可能经常会用到typedef关键字和#define宏定义命令,在某些情况下使用它们会达到相同的效果,但是它们是有实质性的区别,一个是C/C++的关键字,一个是C/C++的 ...

  9. 普通计算机网络和工业控制网络的区别,浅谈工控电脑和普通电脑的区别

    工控电脑就是工业控制用的计算机,是计算机的一种,主要结构和工作原理和普通电脑没有什么区别,但是在设计上区别比较大. 工控机 机箱不同: 工控机箱采用钢结构,封闭式设计,内部有大量固定条,有较高的防磁. ...

最新文章

  1. 把阿里jar包安装到本地,供pom引用
  2. xray 被动_长亭xray:一款自动化Web漏洞扫描神器(免费社区版)
  3. 【JavaSE01】初识Java-思维导图
  4. Shell的基本语法结构
  5. 大一python题库刷题训练_python实现合工大试题库自动刷题
  6. wordpress functions.php 在哪,在functions.php中定义变量并在WordPress中的函数钩子中访问它们...
  7. 查看计算机用户修改密码时间,使用ldap语句查询某时间后没改密码的用户
  8. 解决方案-Visual Studio设置通用配置(包含路径+依赖库)
  9. win7 安装 vmware出错: failed to create the requested registry key key installer error 1021 的解决办法。...
  10. 双十一电商对决,拍拍微店这次会怎么玩?
  11. 在pdf上进行修改文字,PDF文字修改方法
  12. 在线制图:腾讯云架构在线绘制
  13. dell R720 单盘raid0配置
  14. 详解PON基础知识:OLT、ONU、ONT和ODN
  15. 链路层---->MAC地址,链路层与网络层对比
  16. 简述https的几种加密方式
  17. Java 创建并用应用幻灯片母版
  18. 积分换元法中换元单调性问题的讨论
  19. 网卡驱动学习五、hostapd 移植测试
  20. CentOS下连VisualSVN服务器时报SSL handshake failed: SSL error: Key usage violation in certificate has been d

热门文章

  1. .NET MAUI 已在塔架就位 ,4月份发布RC
  2. 6张图,带你深入理解GitOps,真硬核!
  3. 如何通过 C# 将文本变为声音 ?
  4. NET问答: 如何用 C# 计算相对时间 ?
  5. BCVP开发者说第4期:Remember.Core
  6. 使用ImpromptuInterface反射方便的创建自定义DfaGraphWriter
  7. ASP.NET Core分布式项目实战(运行Consent Page)--学习笔记
  8. 研发协同平台持续集成2.0架构演进
  9. AspNetCore结合Redis实践消息队列
  10. Excel催化剂插件功能修复与更新汇总篇之十