整合營銷服務商

          電腦端+手機端+微信端=數據同步管理

          免費咨詢熱線:

          VBScript 將從 Windows 上消失,微軟

          VBScript 將從 Windows 上消失,微軟放出棄用計劃!

          理 | 屠敏
          出品 | CSDN(ID:CSDNnews)

          去年 10 月,微軟提前在“Windows 客戶端已棄用功能”列表中預告了一名新成員——VBScript 的存在,讓眾人做好棄用這門語言的準備。

          時光飛逝,近日,微軟正式發布了一篇長文公告,分享了關于《棄用 VBScript:時間表和后續步驟》的最新動態,宣布 VBScript 的淘汰會分為「三步走」:一是最初會將 VBScript 作為 Windows 操作系統中的一項可選功能,默認開啟;二是取消默認開啟;三是計劃在 2027 年之后完全將該功能從 Windows 上移除。

          毋庸置疑,此舉不僅意味著棄用 VBScript 已經成為板上釘釘的事情,同時也標志著一個時代的終結。


          VBScript 的 28 年

          回看過往,VBScript(Visual Basic Scripting Edition)是微軟在 1996 年首次推出的一種輕量級腳本語言。

          在早期的互聯網時代,VBScript 被用來為網頁添加客戶端交互功能,類似于JavaScript。通常它被嵌入在 HTML 頁面中,并與 ASP 和 WSH(Windows Script Host)等技術結合使用。

          這門語言也作為 Windows 操作系統中的系統組件提供,系統管理員一般都喜歡用 VBScript 編寫腳本來實現各種自動化管理任務,如文件操作、注冊表編輯、用戶賬戶管理和網絡配置等。

          在 Office 應用上,盡管 VBA 更為常用一些,但是也有不少開發者將 VBScript與 Office 應用程序(如 Excel、Word 和 Outlook)集成,用于自動化任務和宏編寫。

          再者,在軟件測試領域,VBScript 被用作一些測試自動化工具(如 QTP/UFT,現稱為 Micro Focus UFT)的腳本語言。測試人員使用 VBScript 編寫測試腳本來自動化軟件測試流程。

          受益于這些領域,外加簡單易學的特性,VBScript 也成為不少程序員的啟蒙語言,快速理解編程概念和腳本編寫。

          據最新的 TIOBE 榜單顯示,VBScript 經過了 28 年的發展至今,使用率仍有 0.34%。這也意味著有不少遺留應用程序、工具中仍然存在不少 VBScript 的代碼。


          為什么要棄用 VBScript?

          談及為什么要棄用 VBScript,正如我們此前報道的,一方面,VBScript 自身迭代已經跟不上了時代的步伐,其中:

          • VBScript 的命令集相對較小,功能有限,難以處理復雜的任務;

          • 不支持面向對象編程(OOP),這限制了其在大型應用開發中的使用;

          • 這門語言本身是微軟開發,主要支持 Windows 系統,這在如今的跨平臺開發環境中是一個嚴重的限制;

          • 還缺乏模塊化和組件化、異步處理能力等多種能力...

          更為讓人無奈的是,不同于現代腳本語言通常都有活躍的維護團隊,持續推出新版本,不斷改進語言特性和性能,VBScript 缺乏持續的更新和維護,它的最新版本還停留在 14 年前的 2010 年 5.8 版本。

          相比之下,2006 年 PowerShell 的出現以及 JavaScript 的流行對 VBScript 帶來了致命的打擊。

          其中,PowerShell 不僅支持強大的腳本編寫功能,可以處理復雜的自動化任務,還內置了大量功能強大的命令(Cmdlets),能夠直接與系統、文件、注冊表、服務和應用程序進行交互。PowerShell 基于 .NET 框架,能夠處理對象,使數據操作和傳遞更加直觀和高效。

          另外,不像 VBScript 那樣局限于 Internet Explorer,已經成為網頁開發的標準腳本語言 JavaScript 支持幾乎所有現代瀏覽器(如 Chrome、Firefox、Safari 和 Edge)。JavaScript 也擁有豐富的庫和框架(如 React、Angular 和 Vue),極大地簡化了現代 Web 應用的開發。

          在二者的夾擊下,VBScript 幾乎無用武之地。

          微軟項目經理 Naveen Shankar 對此表示,“決定終止支持是為了過渡到更現代、更高效、更先進的選項......多年來,技術不斷進步,催生出更強大、更通用的腳本語言,如 JavaScript 和 PowerShell。這些語言提供了更廣泛的功能,更適合現代 Web 開發和自動化任務。

          當然,微軟在公告中特別做了解釋,其聲稱,棄用是產品生命周期中的一個階段,是指某一特性或功能不再處于積極開發階段,并可能在產品或在線服務的未來版本中刪除。

          不過,「這是一個漸進的過程,可能持續幾個月或幾年。被淘汰的功能通常會被更好、更先進或功能性更強的功能所取代。在正式移除之前,該功能通常會繼續運行并得到全面支持。移除后,該功能或能力將不再工作。移除過時的組件有助于降低復雜性,同時保證安全性和工作效率。」


          棄用 VBScript 三步走

          因此,微軟也給已經使用了 VBScript 語言的應用程序預留出足夠的過渡時間,其分享了三個階段,直至 VBScript 從未來的 Windows 操作系統版本中完全退役。

          階段 1

          在第一階段,VBScript FOD(按需功能)將默認預安裝在所有 Windows 11 版本 24H2 及以上版本中。

          在這一時間段內,如果你的應用程序、進程等對 VBScript 有依賴,那么體驗不會受到影響。

          你可以在“開始” > “設置” > “系統” > “可選功能”中看到默認啟用的 VBScript FOD。

          Windows系統設置的屏幕截圖顯示VBScript安裝在可選功能下

          階段2

          微軟計劃到 2027 年,VBScript FOD 將不再默認啟用。這意味著,如果到那時你的應用程序仍然依賴 VBScript,則需要手動啟用 FOD,以防止應用程序和進程出現問題:

          1. 轉到開始>設置>系統>可選功能。

          2. 選擇頂部“添加可選功能”選項旁邊的查看功能。

          3. 在搜索對話框中輸入“VBSCRIPT”,然后選擇結果旁邊的復選框。

          4. 要啟用已禁用的功能,請按下一步。

          階段3

          VBScript 將從 Windows 的未來版本中退役并淘汰。這意味著 VBScript 的所有動態鏈接庫(.dll 文件)都將被刪除。因此,依賴 VBScript 的項目將停止運行。

          當進入第三階段時,微軟建議所有使用 VBScript 的項目必須進行遷移。

          如果你有依賴 VBScript 自動執行任務的網站或應用程序;或者使用 VBScript 自定義操作作為安裝包中的一項功能,微軟建議可以遷移到 PowerShell。

          由于 VBScript 功能目前僅限于 IE 11 之前的瀏覽器,因此在 2027 年之后,微軟官方建議這類網頁統一遷移并使用 JavaScript 語言。


          VBScript 的退役,對你是否有影響?

          隨著 VBScript 的棄用,不少程序員感嘆:

          “在 Windows 和 office 的世界里,vbs 真是一個不錯的東西”;

          “21年前寫下第一行 VBScript,紀念我逝去的青春”。

          不過,也有網友對微軟的建議并不買賬:

          • 我覺得 PowerShell 這門語言啰嗦而且不符合人體工程學。這艘船已經揚帆起航,但我希望微軟能做些什么,讓 Windows 自動化更接近其他平臺,這樣它就能從其他平臺上的優秀軟件中受益。

            看來,VBA 將繼續作為 MS Office 的編程前端語言而存在,這實在令人遺憾。他們不久前宣布 Excel 支持 Python,我希望它能作為 VBA 的可行替代品得到更好的推廣。

          • 迄今為止,我一直避免在向最終用戶分發的任何文件中使用 Powershell,因為 Windows 默認禁用未簽名腳本的執行。使用 VBScript 或 BAT 文件自動執行基本任務更容易,因為這些腳本可以不簽名運行...... 我想,如果微軟現在重新考慮默認啟用 Powershell 腳本執行功能,那也未免太奢望了。

          對此,你如何看待 VBScript 的淘汰?對你的應用程序是否有影響?

          來源:

          https://techcommunity.microsoft.com/t5/windows-it-pro-blog/vbscript-deprecation-timelines-and-next-steps/ba-p/4148301

          TML <script> 標簽被用來向 HTML 中插入 VBScript。


          HTML 中的 VBScript

          如需在 HTML 中插入 VBScript,腳本必須寫在標準的 <script> 和 </script> 標簽之間。

          在 <script> 標簽中,請使用 type 屬性來定義腳本語言 "text/vbscript":

          <html>

          <body>

          <script type="text/vbscript">

          ...

          </script>

          </body>

          </html>

          IE 將解釋和執行 <script> 和 </script> 之間的 VBScript 代碼。


          VBScript 輸出

          當 VBScript 被用在 Web 服務器上的 ASP 頁面時,語句 response.write() 產生輸出。

          當我們使用 Internet Explorer 來測試 VBScript,我們使用 document.write() 來產生輸出:

          實例(僅適用于 Internet Explorer)

          <html>

          <body>

          <script type="text/vbscript">

          document.write("Hello World!")

          </script>

          </body>

          </html>

          在上面的實例中,瀏覽器輸出 "Hello World!" 到 HTML 頁面。

          VBScript 不應該被用作客戶端腳本語言!

          在這里,我們使用僅適用于 IE 的 VBScript 的用于學習。

          RPA實施中,郵件的自動化是必不可少的一部分內容。通過郵件,可以實現人與機器人之間的信息互通。

          一、發送郵件的方式類型

          有關發送郵件,有多種多樣的方式。在開始之前,先了解一下在AA中發送郵件都有哪些實現方式。

          1. 模擬人工操作

          作為RPA本質的一種方式就是模擬人的操作,所以可以通過AA打開郵箱,創建郵件,編寫郵件內容,添加附件等一系列操作來完成,此方法中,主要使用到AA的Object Clone命令,腳本如下截圖。

          缺點: 此方法執行效率低,易出錯,針對于不同版本的outlook或其他郵件客戶端,需要適配并修改代碼。

          2. 自帶Command

          在AA中也有相應的Command,如 "Send Email",此命令是通過SMTP發送郵件,需要在客戶端中配置SMTP服務器,這里使用163郵箱進行示例,配置如下:打開AAE客戶端,點擊Tools->Options->Email settings

          腳本如下:

          結果:

          缺點:

          • 命令中的的Message類型有兩種方式,一種純文本格式,一種是富文本格式,所以不能使用HTML的方式來發送消息,這種就不能實現客戶定制化內容的需求。
          • Message中傳入參數,郵件內容只能以文本格式顯示,不能顯示帶格式的內容。

          3. 利用好BotStore

          在Automation Anywhere的Bot應用商店中,有很多封裝好的Task/Metabots,如下圖,可以通過搜索找到自己想要的Bots。

          4. 其他方式

          除了以上幾種方式,可以使用其他語言來實現郵件發送的功能。如用C#編寫,然后打包成dll,之后在Metabot中進行方法的調用;或者使用VBS腳本,可以用腳本調用outlook發送,或者使用windows自帶的CDO.Message對象來發送。

          二、使用VBS發送SMTP郵件

          1. 起因

          • 客戶要求不能使用dll,所以不能使用C#實現(C#發送郵件的功能已經實現,代碼可以在知識星球中下載,鏈接:https://t.zsxq.com/zjUZr7i)
          • 模擬人手工操作,執行效率比較低,易出錯
          • JavaScript實現發送郵件,需要用到外部的引用,也不方便調試,并且在AA中調用的時候會出現各種奇葩問題
          • Botstore中也都是基于C#開發,封裝成dll的形式,所以也不能使用。

          所以最終采用了使用VBS調用windows自帶的CDO.Message對象來發送SMTP郵件,這樣可以脫離outlook組件或者相關dll,也不需要其他外部的依賴,只要是windows系統都可以直接進行調試。

          調試VBS方法:打開cmd,運行wscript C:\RPA\SendSMTPEmail.vbs進行調試

          2. 思路及代碼說明

          AA中調用VBS腳本,在傳入參數時候,如果參數的值中存在空格,則會出現傳參錯誤的異常(因為Run Script命令傳參是以空格作為分隔符的),也可以參考知識星球中這篇文章。所以在使用VBS腳本發送郵件時,需要使用AA腳本動態生成VBS腳本文件,然后發送郵件。

          首先編寫并調試VBS腳本,腳本代碼如下:

          在完成VBS代碼調試之后,需要將其中的一些變量替換掉,之后編寫AA腳本,在AA腳本中,需要將上面的VBS代碼通過Log To File的命令寫入到臨時的文件中,然后使用Run Script命令執行臨時的VBS腳本。(文件可以在知識星球中下載,鏈接:https://t.zsxq.com/E2rrFu7)

          3. AA參數說明

          在Metabot中的參數有如下:

          四、總結

          在AA中發送郵件的方式多種多樣,用戶可以依據自己的實際情況,選擇合適的方法以提高開發效率和機器人的執行效率。在選擇使用VBS/JavaScript腳本方式執行函數或者功能時,可以通過動態生成腳本的方式來避免一些傳參的異常。

          文中涉及到的代碼都可以在知識星球中下載,鏈接:https://t.zsxq.com/E2rrFu7


          主站蜘蛛池模板: 国产精品主播一区二区| 亚洲国产系列一区二区三区| 国产精品 视频一区 二区三区| 中文字幕日韩人妻不卡一区| 无码日韩人妻AV一区免费l| 国产精品资源一区二区 | 肥臀熟女一区二区三区| 国产精品xxxx国产喷水亚洲国产精品无码久久一区 | 在线播放国产一区二区三区 | 国产在线观看精品一区二区三区91 | 国产一区视频在线免费观看| 一区二区三区免费视频观看 | 色噜噜狠狠一区二区三区果冻| 少妇精品久久久一区二区三区| 亲子乱av一区区三区40岁| 国产伦精品一区三区视频| 日韩人妻无码一区二区三区99 | 亚洲高清美女一区二区三区| 国产一区二区三区电影| 中文字幕视频一区| 亚洲国产精品一区二区第四页| 麻豆文化传媒精品一区二区| 亚洲福利精品一区二区三区| 免费播放一区二区三区| 一区二区三区四区在线播放| 亚洲熟妇成人精品一区| 无码人妻精品一区二区三18禁| 精品一区二区三区中文| 成人一区二区三区视频在线观看| 无码精品人妻一区二区三区免费看 | 99国产精品一区二区| 一区二区中文字幕在线观看| 亚洲国产系列一区二区三区| AV无码精品一区二区三区| 一区二区三区在线|欧| 无码人妻AⅤ一区二区三区| 91精品一区国产高清在线| 中文无码AV一区二区三区| 一区二区三区杨幂在线观看| www一区二区三区| 久久精品中文字幕一区|