婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av

主頁 > 知識庫 > 用PowerShell代替批處理吧!

用PowerShell代替批處理吧!

熱門標簽:信陽話務外呼系統怎么收費 湖州電銷防封卡 雷霆電話機器人電話 使用電話機器人電銷是否違法 什么渠道可以找外呼系統客戶 金融電銷公司怎么辦理外呼系統 電話智能外呼系統誠信合作 真人和電話機器人對話 安徽400電話辦理

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 操作系統的接口。

現在我們擁有了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來代替它吧!

標簽:德州 六盤水 運城 岳陽 鶴崗 濟南 湛江 山南

巨人網絡通訊聲明:本文標題《用PowerShell代替批處理吧!》,本文關鍵詞  用,PowerShell,代替,批處理,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《用PowerShell代替批處理吧!》相關的同類信息!
  • 本頁收集關于用PowerShell代替批處理吧!的相關信息資訊供網民參考!
  • 企业400电话

    智能AI客服机器人
    15000

    在线订购

    合计11份范本:公司章程+合伙协议+出资协议+合作协议+股权转让协议+增资扩股协议+股权激励+股东会决议+董事会决议

    推薦文章
    主站蜘蛛池模板: 盐亭县| 闵行区| 荥经县| 台江县| 长治县| 屏边| 五大连池市| 博客| 大足县| 军事| 青冈县| 克什克腾旗| 新乡县| 商都县| 博湖县| 泌阳县| 凤凰县| 太仆寺旗| 武定县| 高碑店市| 新乡市| 合川市| 达日县| 肥西县| 铜陵市| 图木舒克市| 莱西市| 文水县| 玉山县| 延长县| 鹤山市| 绥德县| 龙里县| 远安县| 抚顺市| 祁门县| 沾化县| 齐河县| 广宁县| 衡山县| 台州市|