国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 開發 > PowerShell > 正文

用PowerShell代替批處理吧!

2020-05-30 20:19:36
字體:
來源:轉載
供稿:網友

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和JScript 微軟版本低Javascript)來增強它的腳本功能。 WSH腳本依賴于COM對象來在操作系統和應用程序之間進行交互。盡管WSH極其實用和強大,它受限于機器上必須安裝所需的COM對象,并且沒有提供命令行界面。

進入 Windows PowerShell

批處理和WSH腳本沒有提供一致性,因為它們是兩種分開的增強工具,擁有不同的用戶接口(批處理和wSH腳本是兩碼事)。微軟意識到了這一點,在2006年發布了Windows PowerShell的第一個版本,結束了列國混戰的局面,一統了Windows腳本的江湖。PowerShell基于.NET 框架,提供了一個命令行,和管理Windows 操作系統的接口。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 柞水县| 东台市| 辽中县| 霍州市| 沙河市| 湟源县| 巢湖市| 丹棱县| 建始县| 芦溪县| 崇文区| 比如县| 泰和县| 松桃| 修水县| 西华县| 永德县| 承德市| 阿鲁科尔沁旗| 汉源县| 桃园县| 湾仔区| 石泉县| 宁海县| 阳曲县| 蓝田县| 淮北市| 五家渠市| 隆尧县| 句容市| 隆德县| 青岛市| 乡城县| 翁源县| 谢通门县| 曲靖市| 安龙县| 徐闻县| 桦南县| 托克逊县| 夏津县|