主頁 > 知識庫 > 淺談CMD和win powershell的區(qū)別

淺談CMD和win powershell的區(qū)別

熱門標(biāo)簽:AI電銷 服務(wù)外包 地方門戶網(wǎng)站 百度競價(jià)排名 網(wǎng)站排名優(yōu)化 呼叫中心市場需求 鐵路電話系統(tǒng) Linux服務(wù)器

cmd是和powershell都可以做命令行交互,批處理和powershell腳本功能也相當(dāng)。

我不知道你怎么理解cmd,但下面是powershell是基于.net的,只要你足夠了解.net,你可以使用她做任何你想做的事情。

Windows PowerShell 是專為系統(tǒng)管理員設(shè)計(jì)的新 Windows 命令行 shell。Windows PowerShell 包括交互式提示和腳本環(huán)境,兩者既可以獨(dú)立使用也可以組合使用。

與接受和返回文本的大多數(shù) shell 不同,Windows PowerShell 是在 .NET Framework 公共語言運(yùn)行時(shí) (CLR) 和 .NET Framework 的基礎(chǔ)上構(gòu)建的,它接受和返回 .NET Framework 對象。環(huán)境中的這一根本更改帶來了管理和配置 Windows 的全新工具和方法。

Windows PowerShell 引入了 cmdlet(讀作“command-let”)的概念,這是內(nèi)置到 shell 中的一個(gè)簡單的單一功能命令行工具??梢苑謩e使用每個(gè) cmdlet,但是組合使用這些簡單的工具執(zhí)行復(fù)雜任務(wù)時(shí)才發(fā)揮其作用。Windows PowerShell 包括一百多個(gè)基本的核心 cmdlet,您可以編寫自己的 cmdlet 并與其他用戶共享它們。

與許多 shell 一樣,Windows PowerShell 為您提供了對計(jì)算機(jī)上文件系統(tǒng)的訪問。此外,使用 Windows PowerShell 提供程序還可以訪問其他數(shù)據(jù)存儲(chǔ),如注冊表和數(shù)字簽名證書存儲(chǔ),就像訪問文件系統(tǒng)一樣容易。

簡單的說,Powershell是cmd的超集,換句話說,cmd能做的事情,Powershell都能做,但是Powershell還能額外做許多cmd不能做的活。

主要是系統(tǒng)管理功能、腳本語言和在線幫助更強(qiáng)大,你確實(shí)可以只把它當(dāng)成cmd來用,也可以學(xué)和用得更深

powershell的優(yōu)點(diǎn)

沒有做不到,只有想不到。用 PowerShell 甚至可以 Load C/C++ 寫的 dll,然后執(zhí)行里面的代碼,COM 就不說了。跑題了,題主問不同,竊以為 PowerShell 和 cmd 最大的不同,并且也是和其它 *nix Shell 最大的不同在于 PowerShell 的 pipe 傳遞的是 .net object,而不是 raw 字符串,于是這就打開了一扇神奇的大門,因?yàn)?PowerShell 的一切組件都可以和諧地共存,彼此不用互相猜忌,不用猜你喂給我的數(shù)據(jù)合不合法,也不用擔(dān)心我喂給你的參數(shù)格式對不對。大家共享一個(gè) CLR,擁有豐富的 metadata,自由自在地在 .net 的世界里徜徉和探索。順帶宣傳一下 https://chocolatey.org/ ,Windows 的 apt-get,基于 PowerShell

PowerShell為什么強(qiáng)大

微軟是一個(gè)很”低調(diào)”的公司,取名為微軟,感覺有“微微軟下去”的意思,這是個(gè)玩笑了。windows 操作系統(tǒng) 和office辦公軟件,如此之優(yōu)秀,微軟也沒敢命名為PowerOS 和 PowerOffice,但是在Monad(PowerShell的前身)發(fā)布后的第二年(2006年),微軟就直接就發(fā)布了Windows PowerShell 1.0,并且”大言不慚“地命名為PowerShell,這也有點(diǎn)太不淡定了。

今天我根據(jù)自己的體驗(yàn)來稍微總結(jié)一下為什么PowerShell如此之強(qiáng)大。

破天荒的方便

諸如存儲(chǔ)計(jì)算中GB,MB,KB單位等;數(shù)組聲明中的1..n和下標(biāo)為-1的處理;還有所見即所得,通俗易懂的動(dòng)詞+名詞結(jié)構(gòu)Cmdlet。

面向?qū)ο?/strong>

與面向過程相比,面向?qū)ο蟾奖愀菀酌枋霈F(xiàn)實(shí)世界,也算趕上了時(shí)髦。

綁上.NET這棵大樹

正所謂大樹下面好乘涼,PowerShell綁上.NET這個(gè)大款了,借助.NET Framework平臺強(qiáng)大的類庫,幾乎讓一切都成為可能。

強(qiáng)大的兼容性

完全兼容windows 平臺上其它調(diào)用,如可執(zhí)行文件(exe),批處理bat和vb script等。

基于平臺的可擴(kuò)展性

微軟有個(gè)優(yōu)點(diǎn),與應(yīng)用相比,它更喜歡做平臺。PowerShell早已變成一個(gè)平臺,在PowerShell 剛發(fā)布的第二年,微軟的System Center Operations Manager 和 SharePoint就提供了針對該平臺的組件,后來的活動(dòng)目錄,Hyper-V,Windows Azure,Office 365就更不用說了。除了微軟,亞馬遜的云平臺管理,Dell的out-of-hand 管理,也都提供了基于PowerShell的管理組件。PowerShell 儼然變成了一個(gè)標(biāo)準(zhǔn),變成了一個(gè)規(guī)范。

舉例介紹
如果您第一次聽說過PowerShell,想稍微觀望下,且看下面的10個(gè)例子。

[數(shù)學(xué)計(jì)算] (39+79-51)*497/28 = ?
心算再快,應(yīng)當(dāng)也沒有敲回車鍵快吧:

PS> (39+79-51)*497/28
1189.25

[日期] 距離下一個(gè)情人節(jié)還有多少分鐘?
我知道距離多少天好算,如果變成分鐘呢?

$now=Get-Date
$day=[datetime]'2-14'
if($now -lt $day ){
$day.Subtract($now).TotalMinutes
}
else{
$day.AddYears(1).Subtract($now).TotalMinutes
}

[容量] 3GB > 3145726KB嗎 ?

PS> 3gb -gt 3145726kb
True

[ID]能產(chǎn)生一個(gè)GUID嗎?

PS> [guid]::NewGuid()

Guid
----
0f283ab4-f402-400c-98ce-359442f11f1a

[文件] Windows目錄下所有可執(zhí)行文件exe的大小是多少?

dir $env:windir -Filter *.exe | measure -Sum Length

[注冊表] 注冊表路徑HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\.NETFramework 下 ‘Enable64Bit'的值是多少?

(Get-ItemProperty -Path hklm:SOFTWARE\Microsoft\.NETFramework ).Enable64Bit

[證書] 指紋為[28DE15612AFF1CD69596AB17AF06AE86CB9C003B]的證書在證書存儲(chǔ)區(qū)嗎?

ls Cert:\LocalMachine\My\ |
where { $_.Thumbprint -eq '28DE15612AFF1CD69596AB17AF06AE86CB9C003B' }

[服務(wù)] 打印機(jī)服務(wù)有沒有啟動(dòng)呢?

Get-Service spooler

[進(jìn)程] 當(dāng)前運(yùn)行了多少個(gè)IE進(jìn)程?

(Get-Process iexplore ).count

[報(bào)表] 將所有運(yùn)行的進(jìn)程信息導(dǎo)出為HTML報(bào)表?

Get-Process | ConvertTo-Html | Out-File a.html

現(xiàn)在知道了powershell的強(qiáng)大了吧,在windows平臺powershell還是比較好用的。

您可能感興趣的文章:
  • Windows PowerShell是啥?看完本文你就懂它了
  • 25個(gè)常用PowerShell命令總結(jié)
  • Windows Powershell 介紹和安裝
  • Powershell實(shí)現(xiàn)編寫和運(yùn)行腳本
  • PowerShell讀取文件內(nèi)容、替換文件內(nèi)容、讀取限定行的例子
  • PowerShell中使用Get-Date獲取日期時(shí)間并格式化輸出的例子
  • PowerShell 入門基礎(chǔ)教程
  • Win8系統(tǒng)中使用PowerShell安裝APPX應(yīng)用命令介紹
  • 使用 powershell 創(chuàng)建虛擬機(jī)

標(biāo)簽:湘潭 仙桃 湖南 衡水 蘭州 銅川 崇左 黃山

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《淺談CMD和win powershell的區(qū)別》,本文關(guān)鍵詞  ;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
    • 微信客服
    • 微信二維碼
    • 電話咨詢

    • 400-1100-266