用PowerShell代替批处理吧_杠杆

访客3年前关于黑客接单1083

这篇文章主要介绍了用PowerShell代替批处理吧!本文讲解了批处理文件的历史、Windows NT 和 Cmd.exe、Windows Script 主机、进入 Windows PowerShell、为什么是时候停止写批处理了等内容,需要的朋友可以参考下PowerShell应当已经名正言顺地成为批处理(Cmd.exe shell脚本)的替代者了,但是因为一些原因,许多人都不是很情愿抛弃批处理。这篇文章将作为一个系列文章的开始帮助你打破批处理的习惯,向PowerShell进军。在我进入这些文章系列之前,我想先稍微讲述一下关于批处理文件的一些历史和为什么你需要使用PowerShell来代替老风格的批处理代码编写你的脚本。批处理文件的历史批处理文件拥有很悠久的历史了,微机操作系统上的一个CP/M ,拥有可提交的命令,它可以将文本文件中的一系列命令逐行运行。它非常简单(因为当时的内存很吃紧),不支持任何类型的条件分支。当开发MS-DOS时,微软在它的Command.com命令解释器中,也纳入了非常类似的批处理功能:把命令存在一个文本文件中,命名为.Bat的扩展名,然后命令解释器就会运行它里面的每一个命令。在以后的DOS版本中,微软通过多种方式扩展了批处理文件。增加了标签,GOTO语句,和If语句来处理分支。很重要的一点,批处理“语言”不是被设计出来的。它只是脱胎于CP/M可提交命令而已。Windows NT 和 Cmd.exe很快就到了Windows NT (1993)了,微软纳入了一个控制台模式的应用程序,Cmd.exe,直到这一天它也才呈献给用户的一个传说中的“C: 提示符”。cmd.exe是旧的MS-DOS上的Command.com的一个超集,甚至使用很多相同的命令。命令类似,它的设计向后兼容,以确保用户能 够运行旧的MS-DOS上的批处理文件。Cmd.exe也能运行带有.Bat 扩展名“批处理文件”。Cmd.exe 和 Command.com之间的相似性是它对.Bat文件的向后兼容性,微软刚开始选择的Cmd.exe图标(“MS-DOS” logo)导致了用户困惑多年。即使在今天我们在一些论坛社区,还会看到一些提问“如何用DOS干什么什么”,事实上这关DOS鸟事。Cmd.exe比 Command.com拥有更多的功能,相应的也就是批处理文件的扩展。其中就包括 For /f的迭代,简单的使用Call命令来调用子程序,环境的指定(Setlocal and Endlocal)。虽然这些增强,让批处理“语言”更加实用,它仍然还是有许多缺陷,这让写一个简单的批处理程序变成一件令人头疼的事。Windows Script 主机从Windows 2000(1999)开始,微软通过引入Windows Script Host 两个真正的,内置的,可编程语言(VBScript和 *** cript 微软版本低Javascript)来增强它的脚本功能。 WSH脚本依赖于COM对象来在操作系统和应用程序之间进行交互。尽管WSH极其实用和强大,它受限于机器上必须安装所需的COM对象,并且没有提供命令 行界面。进入 Windows PowerShell批处理和WSH脚本没有提供一致性,因为它们是两种分开的增强工具,拥有不同的用户接口(批处理和wSH脚本是两码事)。微软意识到了这一点,在 2006年发布了Windows PowerShell的之一个版本,结束了列国混战的局面,一统了Windows脚本的江湖。PowerShell基于.NET 框架,提供了一个命令行,和管理Windows 操作系统的接口。现在我们拥有了Windows PowerShell,没有任何必要再去编写旧式的的批处理文件(Cmd.exe shell脚本)。展望未来吧,你应当将你的精力放在学习PowerShell上,主要是因为微软已经将PowerShell定位成Windows操作系 统自动化和企业应用程序管理的默认工具了。为什么是时候停止写批处理了这里给出你应当停止写批处理文件,而转向PowerShell脚本的五个理由。1.PowerShell是未来,是标杆。微软已经将PowerShell定位为Windows操作系统和微软企业应用程序管理的默认工具了。许多第三方供应商也提供了PowerShell类库用来管理他们的产品。2.批处理是晦涩难懂的,它有很多缺陷。我以前经常去一些脚本提问的网站,我都数不清我问过多少次诸如为什么环境变量展开后不正确啦,为什么命令运行后不正确啦。真的没有必要把自己耗在cmd.exe上了。批处理的限制太多了,投入到PowerShell的怀抱中吧!3.PowerShell是支持批处理和命令行的,转向PowerShell并不是说抛弃了批处理,老式的批处理文件仍然可以在PowerShell上很好地运行,命令行工具也仍然在PowerShell上能够完美兼容运行。4.PowerShell是真正的脚本编程语言,你可能还没有尝到PowerShell的甜头,尤其当你尝试体验一些复杂逻辑时,在PowerShell中明显比CMD.exe要简单地多。许多时候,一行PowerShell命令行,能够替代成百上千的批处理代码。5.PowerShell 使用的是对象,不像Cmd.exe和其它基于文本的Shell只能使用文本的命令输出。另一方面PowerShell使用的是.NET 对象,那些昔日在批处理中比较棘手的问题(比如日期时间的解析)在PowerShell中变得出奇的简单。扔下批处理吧Cmd.exe短期内不会消亡,但是也没有什么理由值得我们在这老式的批处理语言上煞费苦心,把它扔下来,使用PowerShell来代替它吧!

标签: 好话题

相关文章

怎么监控我老公的微信聊天记录怎么监控我老公的微信-免费接单黑客

怎么监控我老公的微信聊天记录怎么监控我老公的微信-免费接单黑客 据移动支付网了解,继“ZAO”官方发布声明之后,工信部对陌陌相关负责人进行了问询约谈,要求其严格按照国家法律法规以及相关主管部门要求,...

100%封对方微信号(先做事后收款黑客团队业务)_100%封对方微信号

100%封对方微信号(先做事后收款黑客团队业务)若他人的微灯号被屏障了,咱们仍旧能够向他们发送信息。但是,在这种环境下,对方看不到你发来的信息,对方只能在微信账号解封后才气看到未读的信息。关于被封闭的...

法国旅游景点介绍 法国旅游景点推荐

  法国是欧洲浪漫的中心,其有着悠久的历史、丰富的名胜古迹和乡野风光,吸引着全世界游客,让全世界的游客对其向往,甚至有很多小伙伴正计划去法国旅游,去看看这个历史悠久的欧洲国家,那去法国旅游去哪些景点好...

黑客教你3分钟找抖音(什么软件可以找抖音号)_黑客

黑客教你3分钟盗抖音(什么软件可以盗抖音号),在从暗盘获得数万万个“账号暗号”后,又让几款热点软件“溃散”,从而将用户的一般账号导致“水军”账号取利。据悉,涉嫌不法获得电脑消息体系的王某某在湖北咸宁家...

一个赌徒的自身经历简述,余生很长,何必惊慌,远离wangle!_腾讯文化

这段时间我很慌,真的很慌,因为好像不管怎么努力,感觉也看不到还清债务的那一天。加之催收不断以各种手段紧逼,心态有些失衡,花了大量时间去想怎么赚钱,发了疯的尝试,像一只蛮牛,丢了睿智,失了聪明, 慌张...

微信密码忘记了手机号也换了怎么办 6种方法

微信是腾讯开发的社交软件,提供语音消息、视频、图片、文本消息,支持多人聊天。 微信密码忘记了手机号也换了怎么办 1.正因为APP的功能越来越多,人们对APP的密码越来越关注 2.如果微信密码忘记...