Windows Powershell使用哈希表
哈希表存放的是對(duì),在哈希表中不再僅僅限制使用數(shù)字尋址,可以使用任意類型的數(shù)據(jù)類型尋址。
創(chuàng)建哈希表
之前使用@()創(chuàng)建數(shù)組,現(xiàn)在使用@{}創(chuàng)建哈希表,使用哈希表的鍵訪問對(duì)應(yīng)的值。
PS C:Powershell> $stu=@{ Name = "小明";Age="12";sex="男" } PS C:Powershell> $stu Name Value ---- ----- Name 小明 Age 12 sex 男 PS C:Powershell> $stu["Name"] 小明 PS C:Powershell> $stu["age"] 12 PS C:Powershell> $stu.Count 3 PS C:Powershell> $stu.Keys Name Age sex PS C:Powershell> $stu.Values 小明 12 男
在哈希表中存儲(chǔ)數(shù)組
可以在創(chuàng)建哈希表時(shí)就使用數(shù)組,因?yàn)閯?chuàng)建數(shù)組和哈希表的的元素關(guān)鍵字不沖突。一個(gè)是逗號(hào),一個(gè)是分號(hào)。
PS C:Powershell> $stu=@{ Name = "小明";Age="12";sex="男";Books="三國(guó)演義","圍城","哈姆雷特" } PS C:Powershell> $stu Name Value ---- ----- Books {三國(guó)演義, 圍城, 哈姆雷特} Name 小明 Age 12 sex 男
在哈希表中插入新的鍵值
在哈希表中插入新的鍵值很方便,象定義變量一樣,可以直接拿來(lái)使用
PS C:Powershell> $Student=@{} PS C:Powershell> $Student.Name="令狐沖" PS C:Powershell> $Student.School="華山派" PS C:Powershell> $Student Name Value ---- ----- Name 令狐沖 School 華山派
哈希表值的更新和刪除
如果要更新鍵的值,可以直接重寫。如果要?jiǎng)h除這個(gè)鍵值對(duì),可以使用Remove方法,參數(shù)為Key
PS C:Powershell> $stu Name Value ---- ----- Books {三國(guó)演義, 圍城, 哈姆雷特} Name 小明 Age 12 sex 男 PS C:Powershell> $stu.Name="趙強(qiáng)" PS C:Powershell> $stu.Name 趙強(qiáng) PS C:Powershell> $stu.Remove("Name") PS C:Powershell> $stu Name Value ---- ----- Books {三國(guó)演義, 圍城, 哈姆雷特} Age 12 sex 男
使用哈希表格式化輸出
在Powershell中哈希表的一個(gè)有趣的應(yīng)用可以用來(lái)格式化文本輸出。Powershell許多命令的輸出結(jié)果都是以表格的形式,當(dāng)然可以使用Format-Table自定義表格格式,例如:
PS C:Powershell> Dir | Format-Table Directory: C:Powershell Mode LastWriteTime Length Name ---- ------------- ------ ---- d---- 2011/11/23 17:25 ABC d---- 2011/11/29 18:21 myscript PS C:Powershell> Dir | Format-Table FullName,Mode FullName Mode -------- ---- C:PowershellABC d---- C:Powershellmyscript d---- C:Powershella.html -a---
上述的命令只能限制表格輸出那些列,隱藏那些列。但是對(duì)于列的寬度,列標(biāo)題無(wú)能為力,但是有了哈希表就可以實(shí)現(xiàn)更多自定義了。
表格的每一個(gè)列包含四個(gè)屬性:
Expression:綁定的表達(dá)式
Width:列寬度
Label:列標(biāo)題
Alignment:列的對(duì)齊方式
PS C:Powershell> $column1 = @{expression="Name"; width=30;label="filename"; alignment="left"} PS C:Powershell> $column2 = @{expression="LastWriteTime"; width=40;label="last modification"; alignment="right"} PS C:Powershell> ls | Format-Table $column1, $column2 filename last modification -------- ----------------- ABC 2011/11/23 17:25:53 myscript 2011/11/29 18:21:28 a.html 2011/11/24 18:30:13
相關(guān)文章
Powershell實(shí)現(xiàn)加密解密文本文件方法實(shí)例
這篇文章主要介紹了Powershell實(shí)現(xiàn)加密解密文本文件方法實(shí)例,本文直接給出加密和解密代碼實(shí)例,需要的朋友可以參考下2015-04-04PowerShell入門教程之快速學(xué)習(xí)PowerShell的幾個(gè)方法
這篇文章主要介紹了PowerShell入門教程之快速學(xué)習(xí)PowerShell的幾個(gè)方法,本文提出了3種快速學(xué)習(xí)PowerShell的方法,需要的朋友可以參考下2014-10-10Powershell小技巧之創(chuàng)建短網(wǎng)址
短網(wǎng)址服務(wù),可能很多朋友都已經(jīng)不再陌生,特別是在微博應(yīng)用中十分普遍,比如,當(dāng)我們?cè)隍v訊、新浪微博發(fā)微博時(shí)有時(shí)發(fā)很長(zhǎng)的網(wǎng)址連接,但由于微博只限制140個(gè)字,所以微博就自動(dòng)把您發(fā)的長(zhǎng)網(wǎng)址給轉(zhuǎn)換成短網(wǎng)址了。今天我們來(lái)探討下,如何用powershell來(lái)便捷的使用短網(wǎng)址2014-10-10PowerShell 4.0實(shí)現(xiàn)自動(dòng)化設(shè)置服務(wù)器
PowerShell 4.0最大的變化是引入了新的Windows PowerShell期望狀態(tài)配置,該機(jī)制通過(guò)集中管理執(zhí)行類似功能的電腦,來(lái)控制電腦的配置方式。2015-09-09Powershell在一個(gè)會(huì)話中只允許執(zhí)行指定命令的方法
這篇文章主要介紹了Powershell在一個(gè)會(huì)話中只允許執(zhí)行指定命令的方法,使用本文的技巧可以達(dá)到控制權(quán)限的功能,需要的朋友可以參考下2014-11-11PowerShell獲取系統(tǒng)環(huán)境變量的方法
這篇文章主要介紹了PowerShell獲取系統(tǒng)環(huán)境變量的方法,本文講解了列出所有的環(huán)境變量的方法和獲取環(huán)境變量的值的方法,需要的朋友可以參考下2014-08-08PowerShell中簡(jiǎn)單的自定義函數(shù)和調(diào)用函數(shù)例子
這篇文章主要介紹了PowerShell中簡(jiǎn)單的自定義函數(shù)和調(diào)用函數(shù)例子,非常簡(jiǎn)單的一個(gè)小例子,需要的朋友可以參考下2014-08-08windows Powershell 快速編輯模式和標(biāo)準(zhǔn)模式
powershell控制臺(tái)有兩種模式,一個(gè)是快速編輯模式,一個(gè)是標(biāo)準(zhǔn)模式。2014-08-08Powershell中創(chuàng)建自定義對(duì)象例子
這篇文章主要介紹了Powershell中創(chuàng)建自定義對(duì)象例子,本文內(nèi)容需要在3.0版本以上有效,需要的朋友可以參考下2014-11-11