2012-02-18 139 views
7

如果我需要一個腳本以最少的努力從系統執行,我會選擇哪一個?VBS vs PowerShell:哪個更輕?

通過查看任務管理器進程:

內存(私人工作集)
WScript.exe的2,068K
powershell.exe 33,144K

感謝。

回答

33

這裏有工作主體的保護。如果機器的工作量較少,那麼你必須做更多的工作。如果機器做更多的工作,你必須做更少的工作。

我們與PowerShell的理念是,最重要的資源是管理員的時間和關注度,所以我們花機器資源來提供最好的體驗。所以,如果你正在尋找機器上最輕的可能的印跡,你應該用'C'編碼。 C++比這更重,VBS更重,C#更重,並且比PowerShell輕。當然,每個人都需要花費更多的精力來製作比PowerShell更好的解決方案。

因此,一天結束時,最終會產生一系列選擇,您需要做的是決定手頭問題的正確工具。我們從一開始就明白了這一點,所以我們設計了PowerShell爲C#=> C++ => C提供了一條平滑的下滑路徑。這允許您從PowerShell開始,如果它太重,您可以轉換到另一種語言而無需重新開始從頭開始就像你用PERL => C做的那樣。

+1

OMG! Jeffrey Snover回答。 +1用於創建我非常喜歡的語言:-) – 2012-02-18 18:48:54

+1

是「更重」的故意?也許「更重」會傳達相同的想法,而不會聽起來有點尷尬? – R0MANARMY 2013-02-12 15:42:27

3

這顯然取決於你需要腳本來做什麼。 PowerShell和vbscript之間的功能有很大的不同。 PowerShell可以利用vbs無法運行的.NET框架的大部分功能。所以有很多東西你根本連VBS都做不到。

如果腳本需要做兩件事都可以完成的事情,通常可以在PowerShell中完成同樣的事情,只需很少的代碼,這使腳本更容易維護和分發。有時候需要10-50行VBS才能通過在shell中輸入單個PowerShell行來完成。

那麼,爲什麼你需要輕量級?事實上,VBS可能會稍微減少一些內存,這是否會衡量我上面討論的PowerShell的好處? PowerShell將使您的工作效率更高,並且由於其強大的功能而使您可以完成更多工作,並且所需的時間和精力將會減少。 OMG!