[转]浅谈CMD和win powershell的区别

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
版权声明:本文为作者原创文章,转载请附上博文链接!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/285606.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【ArcGIS风暴】栅格计算器(Raster Calculator)运算出现错误问题及解决方案汇总

栅格计算器(Raster Calculator) 是一种空间分析函数工具,可以输入地图代数表达式,使用运算符和函数来做数学计算,建立选择查询,或键入地图代数语法。只有熟练的运用并记忆一些常用的公式,才能很好的运用栅格计算器。在使用的过程中,容易出现这样那样的问题,本文就把栅…

「博客之星」评选,互投5星,留链必投

⭐⭐ ⭐ ⭐⭐ 欢迎诚信互投⭐ ⭐ ⭐ ⭐⭐ ⭐⭐⭐⭐⭐ 谢谢各位大佬门,互投5星⭐⭐⭐⭐⭐ 投票地址: https://bbs.csdn.net/topics/603958492 投票地址: https://bbs.csdn.net/topics/603958492 投票地址: https://bbs.csdn.net…

为 ServiceCollection 实现装饰器模式

为 ServiceCollection 实现装饰器模式Intro在二十四种设计模式中,有一个模式叫做装饰器模式一般用来动态地给一个对象添加一些额外的职责,就增加功能来说,装饰模式比生成子类更为灵活,有更好的扩展性,我们也可以借助 D…

手把手教你启用Win10的Linux子系统 Ubuntu

1、打开“开发者选项” 2、启用“执行 Linux 程序的windows 子系统” 3、应用商店下载安装Ubuntu 附:ubuntu的一些命令及查看已安装软件包的命令 // 系统 # uname -a # 查看内核/操作系统/CPU信息 # head -n 1 /etc/issue # 查看操作系统版本 # cat…

jquery的height()和javascript的height总结,js获取屏幕高度

jquery的height()和javascript的height总结,js获取屏幕高度在javascript和jquery中,都有对各种高度的写法,在这里,我们就着重讲一下窗口、文档等高度的理解。(宽度和高度差不多!)jquery的各种高度首先来说一说$(docume…

【地理信息系统GIS】教案(七章全)第五章:空间数据查询与空间分析

目录 第一节 空间数据查询第二节 缓冲区分析第三节 叠置分析第四节 网络分析第五节 DEM建立及分析第一节 空间数据查询 1.1 空间数据查询 1、空间数据查询的含义 从空间数据库中找出所有满足属性约束条件和空间约束条件的地理对象。 空间数据查询的一般过程 2、空间数据查询…

Understanding G1 GC Logs--转载

原文地址:https://blogs.oracle.com/poonam/entry/understanding_g1_gc_logs Understanding G1 GC Logs By Poonam-Oracle on Jun 18, 2012 The purpose of this post is to explain the meaning of GC logs generated with some tracing and diagnostic options fo…

Dart语言精简入门介绍

Dart语言精简入门介绍 1、介绍 Dart 在设计时应该是同时借鉴了 Java 和 JavaScript和kotlin 面向对象 JIT&AOT:JIT(Just in Time)优点:即时编译,开发期间更快编译,更快的重载;缺点&#…

WPF 窗口居中 变更触发机制

本文经原作者授权以原创方式二次分享,欢迎转载、分享。原文作者:唐宋元明清原文地址:https://www.cnblogs.com/kybs0/p/7420767.html窗口居中 & 变更触发机制解决:1)单实例窗口,窗口每次隐藏后再显示时…

[转]5分钟实现Android中更换头像功能

5分钟实现Android中更换头像功能 写在前面: 更换头像这个功能在用户界面几乎是100%出现的。通过拍摄照片或者调用图库中的图片,并且进行剪裁,来进行头像的设置。 功能相关截图如下: 下面我们直接看看完整吧: public cl…

Excel VBA窗体上打印系统时间print now出错原因及解决方案

如图所示,需要在窗体上显示当前系统时间: 首先,我们看一下now函数的原型: Now 函数   语法:Now   说明:返回一个 Variant (Date),根据计算机系统设置的日期和时间来指定日期和时间。   示例: Private Sub CommandButton1_Click()Dim a As Varianta = NowMsgBox…

(第九周)团队项目14

项目名:食物链教学工具 组名:奋斗吧兄弟 组长:黄兴 组员:李俞寰、杜桥、栾骄阳、王东涵 代码地址:HTTPS: https://git.coding.net/li_yuhuan/FoodChain.git SSH: gitgit.coding.net:li_yuhuan/FoodChain.git SCRUM会议…

为什么 C# 访问 null 字段会抛异常?

一:背景 1. 一个有趣的话题最近在看 硬件异常 相关知识,发现一个有意思的空引用异常问题,拿出来和大家分享一下,为了方便讲述,先上一段有问题的代码。namespace ConsoleApp2 {internal class Program{static Person pe…

Android项目实战(十五):自定义不可滑动的ListView和GridView

不可滑动的ListView (RecyclweView类似) public class NoScrollListView extends ListView {public NoScrollListView(Context context, AttributeSet attrs) {super(context,attrs);}public void onMeasure(int widthMeasureSpec, int heightMeasureSpec){ int mExpandSpec …

C语言试题一百之输入某年某月某日,判断这一天是这一年的第几天

✅作者简介:大家好我是码莎拉蒂,CSDN博客专家🥇🥇🥇 📃个人主页:个人主页 🔥系列专栏:C语言试题200例 💬推荐一款模拟面试、刷题神器👉 点击跳转进入网站 1、题目 题目:输入某年某月某日,判断这一天是这一年的第几天? 分析: 以 3 月 5 日为例,应该先把…

[转]Java学习路线图(完整详细2019版)

一门永不过时的编程语言——Java 软件开发。 Java编程语言占比: 据官方数据统计,在全球编程语言工程师的数量上,Java编程语言以1000万的程序员数量位居首位。 而且很多软件的开发都离不开Java编程,因此其程序员的数量最多。而在…

【CASS精品教程】Win7+CAD2008+CASS9.1(含CASS3D)完美安装教程(附完整软件安装包下载)

本文讲解win764位系统上安装CAD2008+CASS9.1(含CASS3D)免费版安装,文末附完整软件下载地址,亲测可用!!! 文章目录 1. CAD2008安装2. CASS9.1安装3. 软件下载地址1. CAD2008安装 双击安装包中的Setup.exe,开始安装。 点击【安装产品】。

(十一)Jmeter另一种调试工具 HTTP Mirror Server

之前我介绍过Jmeter的一种调试工具Debug Sampler,它可以输出Jmeter的变量、属性甚至是系统属性而不用发送真实的请求到服务器。既然这样,那么HTTP Mirror Server又是做什么用的呢? 一、HTTP Mirror Server的作用: 它可以在本地临…

C语言九十八之实现企业发放的奖金根据利润提成。利润(I)低于或等于 10 万元时,奖金可提 10%;利润高 于 10 万元,低于 20 万元时,低于 10 万元的部分按 10%提成,高于 10 万元的

✅作者简介:大家好我是码莎拉蒂,CSDN博客专家🥇🥇🥇 📃个人主页:个人主页 🔥系列专栏:C语言试题200例 💬推荐一款模拟面试、刷题神器👉 点击跳转进入网站 1、题目 企业发放的奖金根据利润提成。利润(I)低于或等于 10 万元时,奖金可提 10%;利润高 于 10 万…

[转]大数据环境搭建步骤详解(Hadoop,Hive,Zookeeper,Kafka,Flume,Hbase,Spark等安装与配置)

大数据环境安装和配置(Hadoop2.7.7,Hive2.3.4,Zookeeper3.4.10,Kafka2.1.0,Flume1.8.0,Hbase2.1.1,Spark2.4.0等) 系统说明搭建步骤详述 一、节点基础配置 二、Hadoop安装和配置三、…