許多傳聞稱MS-DOS命令提示符將要為 PowerShell 讓路,這類“新聞”讓大量依賴於Cmd.exe的發燒友、開發者、以及企業客戶感到惶恐。為了安撫大家的情緒,微軟高級項目經理Rich Turner特地在官方博客撰文澄清,解釋天不會很快就塌下來。這一猜測最早出現在Windows 10 Insider build 14971發布之後,因為一些補丁注釋被斷章取義。
“PowerShell只是個殼子:為了給重度用戶提供最佳、最前沿的命令行體驗,PowerShell 現已取代命令提示符,成為了文件資源管理器事實上的命令窗口……”Computer World誤解了這一說法,結果導致大家都以為PowerShell真要把Cmd.exe給趕盡殺絕了。萬幸的是,Turner已經作出了澄清 —— “作為Windows中的一項重要特性,Cmd 不會輕易狗帶”。
他解釋到:“許多基於 Windows 打造和測試的自動化系統,都用到了已被服務行業運用多年的大量 Cmd 腳本。沒有它,我們甚至難以完善 Windows 自身”。
● 和資源管理器、Edge / IE 浏覽器等程序一樣,Cmd 是 Windows 中最常用到的可執行文件之一。
● 我們有許多客戶和合作伙伴完全依賴於 Cmd,雖然怪癖,但這確是它們的立身之本。
此外,對於有些人將命令提示符(Cmd)完全等同於已經存在了數十年的 MS-DOS(一個簡單的命令行操作系統)一事,Turner 也特地挑明了兩者的區別,其指出:
● MS-DOS 是采用 x86 匯編打造的,並且不會完全移植支持未來的 CPU;
● 相比之下,Cmd 是一款完全用 C 語言編寫的純 32 位應用(Win32 app),可以在 Windows NT 和當前的 Windows 10 操作系統上實現更多功能。
有趣的是,源自 NT 的 32 位版本的 Windows 中包含了一個名叫“command.com”的附加 shell:
● 通過 Virtual 8086 模式和某些遺技,它可以在 Windows NT DOS 虛擬機(NTVDM)中運行許多 MS-DOS 腳本和古老的 16 位 應用程序。
● 不過 64 位版本的 Windows 操作系統中並未包含 command.com 或 NTVDM 。
與Cmd相比,PowerShell更加年輕和功能強大。未來屬於PowerShell,但多數Windows build系統仍將繼續使用Cmd環境。
Turner表示:“如果我們將 Cmd 踹下馬,肯定會傷了某些人的心”。(cnbeta)