主頁(yè) > 知識(shí)庫(kù) > 你應(yīng)該選擇 Powershell 的10個(gè)理由(拋棄 cmd)

你應(yīng)該選擇 Powershell 的10個(gè)理由(拋棄 cmd)

熱門(mén)標(biāo)簽:安徽400電話(huà)辦理 真人和電話(huà)機(jī)器人對(duì)話(huà) 使用電話(huà)機(jī)器人電銷(xiāo)是否違法 信陽(yáng)話(huà)務(wù)外呼系統(tǒng)怎么收費(fèi) 雷霆電話(huà)機(jī)器人電話(huà) 金融電銷(xiāo)公司怎么辦理外呼系統(tǒng) 什么渠道可以找外呼系統(tǒng)客戶(hù) 湖州電銷(xiāo)防封卡 電話(huà)智能外呼系統(tǒng)誠(chéng)信合作

Powershell 從 Windows7 時(shí)代開(kāi)始內(nèi)置于 Windows 系統(tǒng)當(dāng)中,可以看作是微軟對(duì) cmd 的大升級(jí),目前兩者并存于 Windows 系統(tǒng)中。

首先強(qiáng)烈推薦一個(gè) powershell 學(xué)習(xí)網(wǎng)站:

powershell在線(xiàn)教程

1. powershell 更加 “powerful”

微軟起“powershell”這個(gè)名字雖然有吹牛逼的嫌疑(我以前也這樣想),但從事實(shí)來(lái)看并非如此。powershell 的強(qiáng)大程度分分鐘秒殺 Linux 上的 bash,更不要說(shuō)飽受詬病的 cmd 了。(無(wú)意打廣告)

2. powershell 全面支持面向?qū)ο?/strong>

powershell 背后依靠的是一套完整的 .NET 編程體系,其腳本更容易編寫(xiě)且穩(wěn)健性大大提升。反過(guò)來(lái)看 cmd,那些完全由各種命令堆砌而成的一條條指令簡(jiǎn)直就是“小打小鬧”。

3. 從 cmd 遷移到 powershell 成本幾乎為零

如果你對(duì)老朋友 cmd 充滿(mǎn)情懷,無(wú)法舍棄,完全無(wú)妨!因?yàn)?powershell 可以看作 cmd 的超集,所有的常用命令諸如dir, cd, ipconfig等在 powershell 中都能直接使用。但背后的實(shí)現(xiàn)方式是完全不同的,powershell 基于完全的面向?qū)ο螅ㄟ^(guò)給函數(shù)和對(duì)象“起別名”的方式來(lái)支持這些舊的命令。

4. 誘人的管道操作

管道操作的靈感來(lái)自 Linux 的 shell,但由于 powershell 將一切都包裝成為對(duì)象,而不是直接處理字符串,因此其管道操作的靈活程度遠(yuǎn)在 Linux 的 shell 之上。

例如:

PS C:\Users\Haley> ls | sort -Descending Name | Format-Table Name,Mode

Name              Mode
----              ----
VirtualBox VMs         d-----
Videos             d-r---
Searches            d-r---
Saved Games          d-r---
Pictures            d-r---
OneDrive            d-r---
Music             d-r---
Links             d-r---

這條命令列出當(dāng)前路徑下的所有文件,按照名稱(chēng)降序排序,并以表格的形式輸出,且只顯示Name和Mode兩個(gè)字段。

5. 絕對(duì)完備的幫助文檔

任何函數(shù)與對(duì)象都能夠通過(guò)help *命令來(lái)查看其幫助文檔(準(zhǔn)確來(lái)說(shuō)應(yīng)該是Get-Help函數(shù),這是更加“面向?qū)ο蟆被拿绞剑鴋elp是它的別名),如果看不明白,加上-examples參數(shù)會(huì)有應(yīng)用實(shí)例,如果仍看不明白,加上-online參數(shù)會(huì)打開(kāi)完整的在線(xiàn)幫助文檔,不得不佩服,微軟的一條龍服務(wù)做的很到位。

例如,關(guān)于ls的幫助文檔如下:

PS C:\Users\Haley> help ls

名稱(chēng)
  Get-ChildItem

摘要
  Gets the items and child items in one or more specified locations.


語(yǔ)法
  Get-ChildItem [[-Filter] String>] [-Attributes {ReadOnly | Hidden | System | Directory | Archive | Device | Normal
   | Temporary | SparseFile | ReparsePoint | Compressed | Offline | NotContentIndexed | Encrypted | IntegrityStream |
   NoScrubData}] [-Depth UInt32>] [-Directory] [-Exclude String[]>] [-File] [-Force] [-Hidden] [-Include String[]>
  ] -LiteralPath String[]> [-Name] [-ReadOnly] [-Recurse] [-System] [-UseTransaction] [CommonParameters>]

  Get-ChildItem [[-Path] String[]>] [[-Filter] String>] [-Attributes {ReadOnly | Hidden | System | Directory | Arch
  ive | Device | Normal | Temporary | SparseFile | ReparsePoint | Compressed | Offline | NotContentIndexed | Encrypte
  d | IntegrityStream | NoScrubData}] [-Depth UInt32>] [-Directory] [-Exclude String[]>] [-File] [-Force] [-Hidden]
   [-Include String[]>] [-Name] [-ReadOnly] [-Recurse] [-System] [-UseTransaction] [CommonParameters>]


說(shuō)明
  The Get-ChildItem cmdlet gets the items in one or more specified locations. If the item is a container, it gets the
   items inside the container, known as child items. You can use the Recurse parameter to get items in all child cont
  ainers.

  A location can be a file system location, such as a directory, or a location exposed by a different Windows PowerSh
  ell provider, such as a registry hive or a certificate store.


相關(guān)鏈接
  Online Version: http://go.microsoft.com/fwlink/?LinkId=821580
  Get-Item
  Get-Location
  Get-Process
  Get-PSProvider

備注
  若要查看示例,請(qǐng)鍵入: "get-help Get-ChildItem -examples".
  有關(guān)詳細(xì)信息,請(qǐng)鍵入: "get-help Get-ChildItem -detailed".
  若要獲取技術(shù)信息,請(qǐng)鍵入: "get-help Get-ChildItem -full".
  有關(guān)在線(xiàn)幫助,請(qǐng)鍵入: "get-help Get-ChildItem -online"

6. 支持基本的數(shù)學(xué)運(yùn)算和數(shù)組操作(加減乘除模),打開(kāi)就能當(dāng)計(jì)算器用

PS C:\Users\Haley> 1 + 1
2
PS C:\Users\Haley> 3 * 5
15
PS C:\Users\Haley> 0xab
171
PS C:\Users\Haley> 1kb
1024
PS C:\Users\Haley> 1mb / 1kb
1024

7. 良好的腳本編程體驗(yàn)

powershell 腳本的語(yǔ)法與高級(jí)編程語(yǔ)言非常相近,例如其分支語(yǔ)句if(...){} else{}、循環(huán)語(yǔ)句for(...){}與 C 語(yǔ)言別無(wú)二致,因而大大提高了編程體驗(yàn)。

8. 擁有豐富的字符串操作對(duì)象和函數(shù),全面支持正則表達(dá)式

字符串處理是 shell 腳本的主要任務(wù),正則表達(dá)式的重要性也無(wú)需多說(shuō)。

9. 支持重定向,讀寫(xiě)文件易如反掌

powershell 原生支持將結(jié)果導(dǎo)出到html, csv, xml等文件,也可以通過(guò)重定向從文件中讀取內(nèi)容。

例如:

PS C:\Users\Haley> ls | Select-Object Mode,Name | Export-Csv ~/desktop/test.csv

這樣就把當(dāng)前目錄下的所有 文件名-讀寫(xiě)權(quán)限 保存到了一個(gè) csv 文件中。

10. 支持 Debug

雖然這個(gè)功能很少用到,但支持 debug 是走向完備編程語(yǔ)言不可或缺的一項(xiàng)功能。

標(biāo)簽:湛江 濟(jì)南 山南 六盤(pán)水 鶴崗 運(yùn)城 德州 岳陽(yáng)

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《你應(yīng)該選擇 Powershell 的10個(gè)理由(拋棄 cmd)》,本文關(guān)鍵詞  你,應(yīng)該,選擇,Powershell,的,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問(wèn)題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無(wú)關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《你應(yīng)該選擇 Powershell 的10個(gè)理由(拋棄 cmd)》相關(guān)的同類(lèi)信息!
  • 本頁(yè)收集關(guān)于你應(yīng)該選擇 Powershell 的10個(gè)理由(拋棄 cmd)的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章