全网整合营销服务商

电脑端+手机端+微信端=数据同步管理

免费咨询热线:400-708-3566

你应该选择 Powershell 的10个理由(抛弃 cmd)

Powershell 从 Windows7 时代开始内置于 Windows 系统当中,可以看作是微软对 cmd 的大升级,目前两者并存于 Windows 系统中。

首先强烈推荐一个 powershell 学习网站:

powershell在线教程

1. powershell 更加 “powerful”

微软起“powershell”这个名字虽然有吹牛逼的嫌疑(我以前也这样想),但从事实来看并非如此。powershell 的强大程度分分钟秒杀 Linux 上的 bash,更不要说饱受诟病的 cmd 了。(无意打广告)

2. powershell 全面支持面向对象

powershell 背后依靠的是一套完整的 .NET 编程体系,其脚本更容易编写且稳健性大大提升。反过来看 cmd,那些完全由各种命令堆砌而成的一条条指令简直就是“小打小闹”。

3. 从 cmd 迁移到 powershell 成本几乎为零

如果你对老朋友 cmd 充满情怀,无法舍弃,完全无妨!因为 powershell 可以看作 cmd 的超集,所有的常用命令诸如dir, cd, ipconfig等在 powershell 中都能直接使用。但背后的实现方式是完全不同的,powershell 基于完全的面向对象,它通过给函数和对象“起别名”的方式来支持这些旧的命令。

4. 诱人的管道操作

管道操作的灵感来自 Linux 的 shell,但由于 powershell 将一切都包装成为对象,而不是直接处理字符串,因此其管道操作的灵活程度远在 Linux 的 shell 之上。

例如:

PS C:\Users\Haley> ls | sort -Descending Name | Format-Table Name,Mode

Name              Mode
----              ----
VirtualBox VMs         d-----
Videos             d-r---
Searches            d-r---
Saved Games          d-r---
Pictures            d-r---
OneDrive            d-r---
Music             d-r---
Links             d-r---

这条命令列出当前路径下的所有文件,按照名称降序排序,并以表格的形式输出,且只显示Name和Mode两个字段。

5. 绝对完备的帮助文档

任何函数与对象都能够通过help *命令来查看其帮助文档(准确来说应该是Get-Help函数,这是更加“面向对象”化的命名方式,而help是它的别名),如果看不明白,加上-examples参数会有应用实例,如果仍看不明白,加上-online参数会打开完整的在线帮助文档,不得不佩服,微软的一条龙服务做的很到位。

例如,关于ls的帮助文档如下:

PS C:\Users\Haley> help ls

名称
  Get-ChildItem

摘要
  Gets the items and child items in one or more specified locations.


语法
  Get-ChildItem [[-Filter] <String>] [-Attributes {ReadOnly | Hidden | System | Directory | Archive | Device | Normal
   | Temporary | SparseFile | ReparsePoint | Compressed | Offline | NotContentIndexed | Encrypted | IntegrityStream |
   NoScrubData}] [-Depth <UInt32>] [-Directory] [-Exclude <String[]>] [-File] [-Force] [-Hidden] [-Include <String[]>
  ] -LiteralPath <String[]> [-Name] [-ReadOnly] [-Recurse] [-System] [-UseTransaction] [<CommonParameters>]

  Get-ChildItem [[-Path] <String[]>] [[-Filter] <String>] [-Attributes {ReadOnly | Hidden | System | Directory | Arch
  ive | Device | Normal | Temporary | SparseFile | ReparsePoint | Compressed | Offline | NotContentIndexed | Encrypte
  d | IntegrityStream | NoScrubData}] [-Depth <UInt32>] [-Directory] [-Exclude <String[]>] [-File] [-Force] [-Hidden]
   [-Include <String[]>] [-Name] [-ReadOnly] [-Recurse] [-System] [-UseTransaction] [<CommonParameters>]


说明
  The Get-ChildItem cmdlet gets the items in one or more specified locations. If the item is a container, it gets the
   items inside the container, known as child items. You can use the Recurse parameter to get items in all child cont
  ainers.

  A location can be a file system location, such as a directory, or a location exposed by a different Windows PowerSh
  ell provider, such as a registry hive or a certificate store.


相关链接
  Online Version: http://go.microsoft.com/fwlink/?LinkId=821580
  Get-Item
  Get-Location
  Get-Process
  Get-PSProvider

备注
  若要查看示例,请键入: "get-help Get-ChildItem -examples".
  有关详细信息,请键入: "get-help Get-ChildItem -detailed".
  若要获取技术信息,请键入: "get-help Get-ChildItem -full".
  有关在线帮助,请键入: "get-help Get-ChildItem -online"

6. 支持基本的数学运算和数组操作(加减乘除模),打开就能当计算器用

PS C:\Users\Haley> 1 + 1
2
PS C:\Users\Haley> 3 * 5
15
PS C:\Users\Haley> 0xab
171
PS C:\Users\Haley> 1kb
1024
PS C:\Users\Haley> 1mb / 1kb
1024

7. 良好的脚本编程体验

powershell 脚本的语法与高级编程语言非常相近,例如其分支语句if(...){} else{}、循环语句for(...){}与 C 语言别无二致,因而大大提高了编程体验。

8. 拥有丰富的字符串操作对象和函数,全面支持正则表达式

字符串处理是 shell 脚本的主要任务,正则表达式的重要性也无需多说。

9. 支持重定向,读写文件易如反掌

powershell 原生支持将结果导出到html, csv, xml等文件,也可以通过重定向从文件中读取内容。

例如:

PS C:\Users\Haley> ls | Select-Object Mode,Name | Export-Csv ~/desktop/test.csv

这样就把当前目录下的所有 文件名-读写权限 保存到了一个 csv 文件中。

10. 支持 Debug

虽然这个功能很少用到,但支持 debug 是走向完备编程语言不可或缺的一项功能。


# Powershell  # 浅谈CMD和win powershell的区别  # PowerShell中运行CMD命令的技巧总结(解决名称冲突和特殊字符等问题)  # 在cmd中直接运行PowerShell脚本文件的方法  # PowerShell入门教程之Cmd命令与PowerShell命令相互调用的方法  # PowerShell入门教程之PowerShell和Cmd命令行的关系?  # powershell与cmd的异同汇总  # 微软  # 帮助文档  # 面向对象  # 看不  # 若要  # 编程语言  # 的是  # 重定向  # 这是  # 会有  # 加减乘除  # 就能  # 小打小闹  # 都能  # 易如反掌  # 一切都  # 这条  # 可以通过  # 而成  # 就把 


相关文章: 临沂网站制作企业,临沂第三中学官方网站?  油猴 教程,油猴搜脚本为什么会网页无法显示?  成都网站制作价格表,现在成都广电的单独网络宽带有多少的,资费是什么情况呢?  标准网站视频模板制作软件,现在有哪个网站的视频编辑素材最齐全的,背景音乐、音效等?  如何用y主机助手快速搭建网站?  上海网站制作网页,上海本地的生活网站有哪些?最好包括生活的各个方面的?  ,想在网上投简历,哪几个网站比较好?  详解一款开源免费的.NET文档操作组件DocX(.NET组件介绍之一)  如何在宝塔面板创建新站点?  定制建站如何定义?其核心优势是什么?  昆明高端网站制作公司,昆明公租房申请网上登录入口?  如何通过cPanel快速搭建网站?  车管所网站制作流程,交警当场开简易程序处罚决定书,在交警网站查询不到怎么办?  如何通过可视化优化提升建站效果?  文字头像制作网站推荐软件,醒图能自动配文字吗?  h5在线制作网站电脑版下载,h5网页制作软件?  手机网站制作平台,手机靓号代理商怎么制作属于自己的手机靓号网站?  php json中文编码为null的解决办法  定制建站是什么?如何实现个性化需求?  广东专业制作网站有哪些,广东省能源集团有限公司官网?  微信小程序 五星评分(包括半颗星评分)实例代码  成都品牌网站制作公司,成都营业执照年报网上怎么办理?  网页设计与网站制作内容,怎样注册网站?  济南专业网站制作公司,济南信息工程学校怎么样?  手机怎么制作网站教程步骤,手机怎么做自己的网页链接?  如何在Windows环境下新建FTP站点并设置权限?  建站主机选哪家性价比最高?  如何在万网开始建站?分步指南解析  如何快速生成高效建站系统源代码?  建站之星如何优化SEO以实现高效排名?  建站之星3.0如何解决常见操作问题?  如何高效配置香港服务器实现快速建站?  定制建站价位费用解析与套餐推荐全攻略  宝塔面板如何快速创建新站点?  如何在阿里云购买域名并搭建网站?  如何快速使用云服务器搭建个人网站?  ,有什么在线背英语单词效率比较高的网站?  哈尔滨网站建设策划,哈尔滨电工证查询网站?  C++如何使用std::optional?(处理可选值)  网站设计制作书签怎么做,怎样将网页添加到书签/主页书签/桌面?  宝塔建站无法访问?如何排查配置与端口问题?  建站之星如何实现网站加密操作?  山东云建站价格为何差异显著?  微网站制作教程,不会写代码,不会编程,怎么样建自己的网站?  电影网站制作价格表,那些提供免费电影的网站,他们是怎么盈利的?  如何基于PHP生成高效IDC网络公司建站源码?  电商网站制作多少钱一个,电子商务公司的网站制作费用计入什么科目?  ,交易猫的商品怎么发布到网站上去?  网站广告牌制作方法,街上的广告牌,横幅,用PS还是其他软件做的?  如何零成本快速生成个人自助网站? 

您的项目需求

*请认真填写需求信息,我们会在24小时内与您取得联系。