Powershell和VBScript之間的主要區別在於,當使用這種腳本規劃新項目時,我會選擇哪一種?運行Powershell而不是VBScript有什麼優勢?
回答
與PowerShell相比,VBScript的功能非常有限。 PowerShell可以訪問所有的.NET庫,因此您可以利用C#或VB.NET等語言獲得任何優勢。您還可以加載任何.NET DLL並利用第三方庫(如codeplex上的第三方庫)。
PowerShell有一些限制,但你很少遇到它們。 Powershell在單線程上運行,所以如果您嘗試調用任何創建新線程(如BackgroundWorker)的.NET庫,您將遇到問題。也就是說,你不能用VBScript做任何併發處理。在PowerShell中,您至少有後臺作業。
PowerShell也是交互式的。這使您可以先在控制檯上試用一些東西,然後將它們集成到更復雜的腳本中。
還有一些免費的開發和調試工具可用於PowerShell。它帶有一個實際稱爲ISE的機器。另一個可從Quest的PowerGUI獲得。如果你想在VBScript中使用類似的東西,你必須使用類似Visual Studio的東西,並用cscript //X
啓動你的腳本,或者使用昂貴的PrimalScript。
與VBscript相比,PowerShell經常允許您以更少的工作做更多的事情。在某些情況下,您可以將數百行的VB腳本數量減少到PowerShell中的數十行。
如果您在某個時候發現自己正在閱讀BASH腳本,您可能會感到驚訝,因爲在拿起PowerShell之後它有多熟悉。語法相似。將PowerShell代碼轉換爲C#也是很容易的,反之亦然。這很好,因爲如果你找不到一個直接使用PowerShell的例子,你可以在C#中找到一個例子,它可以很容易地轉換爲PowerShell。
Powershell,除非您有充分的理由不這樣做,因爲這是Microsoft爲所有平臺上的操作系統和應用程序自動化設計的。不過,您可能需要閱讀Microsoft PowerShell站點中的詳細信息。它有許多事情,VBScript不會做或很難做到,比如遠程執行,安全等。
- 1. 使用核心數據有什麼優勢? (而不是plist)
- 2. 使用bower而不是縮小javascript文件有什麼優勢?
- 3. 嵌套的If/Else而不是Else If有什麼優勢?
- 4. 使用鍵@array而不是0 .. $#數組有什麼優勢?
- 5. 在不同的流程中運行服務有什麼優勢和劣勢?
- 6. Hibernate NamingStrategy有什麼優勢
- 7. reftype {}有什麼優勢?
- 8. 使用Alamofire而不是NSURLSession/NSURLConnection進行網絡連接的優勢是什麼?
- 9. pathmunge優於grep的優勢是什麼?
- 10. Kafka優於RabbitMQ的優勢是什麼?
- 11. 在vm上運行docker有什麼優勢?
- 12. c#應用程序作爲服務運行有什麼優勢?
- 13. 以專用用戶身份運行服務有什麼優勢
- 14. 什麼優勢有沒有使用「得到」,而不是訪問一個地圖
- 15. 在Tomcat + JRuby而不是Mongrel/Passenger上運行Rails應用程序時有什麼優勢?
- 16. 在Python中使用按位運算而不是布爾運算有什麼優勢?
- 17. 在控制器中設置變量而不是視圖有什麼優勢?
- 18. 重複使用數組而不是創建新數組有什麼優勢?
- 19. 使用Google Hosted Libraries而不是本地版本有什麼優勢?
- 20. 使用類方法而不是實例方法有什麼優勢嗎?
- 21. 使用類類型事件而不是枚舉事件有什麼優勢?
- 22. SVN和Apache - 有沒有什麼優勢?
- 23. IAsyncResult模式的優勢是什麼?
- 24. 額外收益的優勢是什麼?
- 25. 什麼是asp.net mvc的優勢?
- 26. 工廠模式的優勢是什麼?
- 27. 使用模板的優勢是什麼?
- 28. C#4中DLR的優勢是什麼?
- 29. 鏈式異常的優勢是什麼
- 30. 使用phoneGap API的優勢是什麼
真棒問題,我真的需要知道這件事。絕對討厭一些SO的政策。 – 2014-04-25 21:46:55
這個問題是有建設性的... – 2016-10-06 13:31:36