您应该使用PowerShell而不是批处理脚本的5个原因

大多数用户从未听说过PowerShell,更不用说对其进行尝试了。这可能是因为名称,听起来像是只有铁杆IT极客才使用的名称。也许是因为PowerShell的好处尚不清楚。也许是由于最初的学习曲线。

事实是,是的,大多数休闲计算机用户将不需要PowerShell的功能。但是,如果您完全有任何编程经验,或者比图形窗口更喜欢命令行,或者喜欢使用脚本自动执行任务,那么您将喜欢PowerShell可以提供的功能。

简而言之,如果您使用批处理脚本跨越了命令提示符,并添加了一些额外的功能,并且将其提升了几个档次,PowerShell就是您所得到的。 / strong>感兴趣吗?以下是您应该尝试的几个可靠原因。

1。与批处理脚本一样,PowerShell脚本得到了改进

PowerShell脚本只是写到纯文本文件中的指令行,只是该文件使用.PS1扩展名而不是.BAT或.CMD扩展名。但这差不多就是结束相似之处的地方。

批处理脚本有一个巨大的局限性:唯一可用的命令就是可以在命令提示符中使用的命令。换句话说,批处理脚本只是一系列命令提示符命令(带有一些条件逻辑)。这对于原始任务和简单的自动化来说是很好的选择,但是当您想做复杂的事情时,这确实是一个障碍。能够为真正的高级任务精心设计逻辑的语言。该语言本身很容易学习,特别是如果您有编程经验的话,但它支持变量,函数,循环,异常处理等。

这里还要注意的一件事是PowerShell ISE(集成脚本)环境)比常规命令提示符有了很大的改进。它具有一些漂亮的生活质量功能,在编写脚本时会派上用场,例如语法突出显示,自动完成,选项卡式编辑以及上下文相关的帮助。

总而言之,不仅如此PowerShell使您可以编写更好的脚本,它可以使编写速度更快。

2。 PowerShell支持完整的.NET API

PowerShell的大部分功能和灵活性来自与.NET Framework的集成。每个PowerShell命令(称为 cmdlet )实际上都是在运行时调用的.NET类,这意味着cmdlet可以用任何.NET语言编写(在撰写本文时,其中包括Visual Basic,Visual C ++和C#)。

.NET API支持的好处是什么?

.NET API包含了组织为一组标准类库的惊人实用程序和功能。您可以利用API的这些方面来帮助您完成诸如收集输入或管理数据之类的事情,而不必自己重写所有这些帮助程序。

PowerShell,与.NET API和各种提供程序结合使用内置于PowerShell本身,还允许您利用Windows生态系统的最深部分,包括文件系统,注册表和证书存储。这样,PowerShell cmdlet和脚本比批处理脚本能做的更多。

也许最有趣的是,PowerShell使您可以将一个cmdlet的输出作为输入传递给另一个cmdlet作为对象。包括Bash在内的大多数其他Shell只能将信息以纯文本形式从一个命令传递到另一个命令。 PowerShell的方法更干净,更紧凑且更不容易出错。

3。 PowerShell可以运行批处理脚本

如果上述原因仍不能使您信服,那么我相信这一点将会实现。

PowerShell并非基于命令提示符构建。这两个外壳在不同的基础架构上是完全不同的,因此将PowerShell视为“命令提示符2.0"或您拥有的东西在技术上是错误的。但是,PowerShell设计为向后兼容。

您在命令提示符中使用的大多数常见命令都可以在PowerShell中使用。在幕后,PowerShell实际上具有内置的cmdlet等效项,这些脚本的编写功能与这些命令完全相同,但是使用别名将旧命令名“连接"到新cmdlet。

例如,当您在PowerShell中运行 cd 时,实际上是在运行 Set-Location cmdlet。在这种情况下,“ cd"只是“ Set-Location"的别名,这使您的生活更轻松。同样,在PowerShell中使用重命名时,它会秘密运行 Rename-Item cmdlet。

因此,毫无疑问,您可以在其中运行批处理脚本PowerShell,这意味着您可以从批处理脚本转换为PowerShell脚本,而不必丢下一切。

4。 PowerShell是Microsoft的预期未来

PowerShell最早于2006年推出。现在,十年后,它已成为Microsoft最重要的项目之一。它背后的团队正在努力使它成为最好的外壳,而Microsoft确实在尽最大努力推动其采用,特别是在IT专业人员中。

展望未来,PowerShell将成为主要的Windows和Microsoft企业产品中用于自动执行任务和应用程序的方法。这是一个严肃的举措,甚至第三方供应商也已开始提供PowerShell库来帮助管理其软件并对其进行故障排除。

但最重要的是,Microsoft一直在增加与PowerShell相关的问题的数量。在他们的一些认证考试中。实际上,根据2009年在《 TechNet杂志》上的一次采访,微软表示:“ Windows管理员在未来几年中需要的最重要的一项技能就是熟练掌握Windows PowerShell。"

因此,无论您只是是高级家庭用户或管理Windows系统的IT专家,是时候接受批处理脚本已经过时,而PowerShell将是未来了。

5。 PowerShell可以在Linux上使用

在过去的几年中,Microsoft做出了许多与开源软件领域有关的令人惊讶的举动。在2014年,他们开源了.NET Framework。

在2017年,PowerShell变得比以往任何时候都更容易在Linux上安装。在撰写本文时,Microsoft现在拥有软件包存储库,可用于在大多数主流Linux版本上安装PowerShell Core。如果您的系统支持 apt-get yum ,那么您很可能可以轻松安装它。如果没有,您仍然可以使用旧的安装说明。

为什么这是个好消息?因为您的PowerShell知识将不再仅限于一个操作系统。批处理脚本只能在Windows上运行(或通过不建议在Linux上的Wine上运行),因此它具有限制性,而PowerShell现在可以帮助您扩展专业知识。

Windows PowerShell入门

说服了吗?如果没有,那没关系。如上所述,PowerShell并非适合所有人,如果您满意使用批处理脚本供个人使用,请随时使用它们。但是,如果您想掌握不断发展的技术,并且打算成为一名经过认证的IT专家,那么学习PowerShell基本上是何时而不是 if 。 p>

如果您想开始使用,请从这些基本的PowerShell命令开始。

标签: 批处理文件 PowerShell