探索PowerShell (八) 數(shù)組、哈希表(附:復(fù)制粘貼技巧)
我們經(jīng)常在程序設(shè)計(jì)中用到的數(shù)組,同樣在腳本中很常用。本節(jié)就詳細(xì)介紹一下數(shù)組,以及哈希表在PowerShell中的使用。
數(shù)組
在PowerShell中,聲明一個(gè)變量為數(shù)組時(shí),需要使用符號(hào)"@",例如:
$strUsers=@(""user1","user2","user3) <enter>
這樣,我們就聲明了一個(gè)具有3個(gè)成員的數(shù)組。查看它的值,使用:
$strUsers <enter>
還有一些其他的操作,如統(tǒng)計(jì)一個(gè)數(shù)組的成員數(shù)目:
$strUsers.Count <enter>
查看或者為數(shù)組成員單獨(dú)賦值(需要注意的是,PowerShell與大多數(shù)程序語言一樣,數(shù)組成員下標(biāo)從0開始計(jì)數(shù)):
$strUsers[0] <enter>
$strUsers[1]="marui" <enter>
也可以使用加號(hào)合并數(shù)組,如:
哈希表
哈希表,也就是字典,是一種非常優(yōu)秀的數(shù)據(jù)結(jié)構(gòu),允許我們使用關(guān)鍵字進(jìn)行查詢,它幾乎沒有性能損失,這些都是因?yàn)樗幕窘Y(jié)構(gòu)能夠很好的符合計(jì)算機(jī)存儲(chǔ)運(yùn)算特性。
在聲明哈希表變量時(shí),同樣需要用到符號(hào)"@",如:
$age=@{} <enter> "MaRui"=21;"Lee"=27;"Tom"=53
與數(shù)組相似的也有如下操作:
查詢
$age["MaRui"] <enter>
增加(注意,增加的同時(shí)一定要賦值,否則不會(huì)添加新條目)
$age["Ma"]=24 <enter>
修改
$age["Ma"]=25 <enter>
刪除(注意,使用圓括號(hào))
$age.remove("Ma") <enter>
清除哈希表
$age.clear() <enter>
這節(jié)的內(nèi)容很簡(jiǎn)單,就講到這里。感謝各位花時(shí)間來瀏覽我的博客!
下去之后,有人問及我在PowerShell中如何進(jìn)行復(fù)制粘貼,其實(shí)方法很簡(jiǎn)單,使用鼠標(biāo)右鍵就可以了。
復(fù)制
我使用一個(gè)cmdlet來查看BIOS信息,并且復(fù)制它:
get-wmiobject -class Win32_BIOS <enter>
Step 1:
使用鼠標(biāo)左鍵直接選取要復(fù)制的內(nèi)容
Step 2:
在被選取區(qū)域單擊鼠標(biāo)右鍵即被復(fù)制。
現(xiàn)在粘貼到這里:
SMBIOSBIOSVersion : 7UET82WW (3.12 )
Manufacturer : LENOVO
Name : Ver 1.00PARTTBL(
SerialNumber : R8RNGG3
Version : LENOVO - 3120
粘貼
Step 1:
復(fù)制內(nèi)容,請(qǐng)各位試試復(fù)制下面的腳本內(nèi)容(此腳本用來查看BIOS的詳細(xì)信息):
$info = get-wmiobject -class Win32_BIOS -namespace root\CIMV2 -comp .
foreach ($objItem in $info) {
write-host “BIOS Characteristics: ” $objItem.BiosCharacteristics
write-host “BIOS Version: ” $objItem.BIOSVersion
write-host “Build Number: ” $objItem.BuildNumber
write-host “Caption: ” $objItem.Caption
write-host “Code Set: ” $objItem.CodeSet
write-host “Current Language: ” $objItem.CurrentLanguage
write-host “Description: ” $objItem.Description
write-host “Identification Code: ” $objItem.IdentificationCode
write-host “Installable Languages: ” $objItem.InstallableLanguages
write-host “Installation Date: ” $objItem.InstallDate
write-host “Language Edition: ” $objItem.LanguageEdition
write-host “List Of Languages: ” $objItem.ListOfLanguages
write-host “Manufacturer: ” $objItem.Manufacturer
write-host “Name: ” $objItem.Name
write-host “Other Target Operating System: ” $objItem.OtherTargetOS
write-host “Primary BIOS: ” $objItem.PrimaryBIOS
write-host “Release Date: ” $objItem.ReleaseDate
write-host “Serial Number: ” $objItem.SerialNumber
write-host “SMBIOS BIOS Version: ” $objItem.SMBIOSBIOSVersion
write-host “SMBIOS Major Version: ” $objItem.SMBIOSMajorVersion
write-host “SMBIOS Minor Version: ” $objItem.SMBIOSMinorVersion
write-host “SMBIOS Present: ” $objItem.SMBIOSPresent
write-host “Software Element ID: ” $objItem.SoftwareElementID
write-host “Software Element State: ” $objItem.SoftwareElementState
write-host “Status: ” $objItem.Status
write-host “Target Operating System: ” $objItem.TargetOperatingSystem
write-host “Version: ” $objItem.Version
write-host
}
Step 2:
在PowerShell中單擊鼠標(biāo)右鍵即可。
看看結(jié)果:
再enter一下就執(zhí)行了,各位自己看結(jié)果吧。
相關(guān)文章
Windows PowerShell是啥?看完本文你就懂它了
這篇文章主要介紹了Windows PowerShell是啥?Windows PowerShell是什么?Windows PowerShell有哪些特性?Windows PowerShell有什么用?看完本文你就懂它了,需要的朋友可以參考下2015-04-04Windows Powershell強(qiáng)類型數(shù)組
強(qiáng)類型數(shù)組可以理解為強(qiáng)制數(shù)據(jù)類型的數(shù)組,也就是一個(gè)數(shù)組里只包含一種數(shù)據(jù)類型,強(qiáng)制轉(zhuǎn)換數(shù)組語法的優(yōu)勢(shì)就是如果使用分號(hào)代替逗號(hào)分隔值,PowerShell將每個(gè)值看作命令文本,PowerShell會(huì)執(zhí)行它并且存儲(chǔ)結(jié)果。2014-09-09Powershell在一個(gè)會(huì)話中只允許執(zhí)行指定命令的方法
這篇文章主要介紹了Powershell在一個(gè)會(huì)話中只允許執(zhí)行指定命令的方法,使用本文的技巧可以達(dá)到控制權(quán)限的功能,需要的朋友可以參考下2014-11-11PowerShell默認(rèn)參數(shù)$PSDefaultParameterValues結(jié)合Out-File輸出到日志文件
這篇文章主要介紹了PowerShell默認(rèn)參數(shù)$PSDefaultParameterValues結(jié)合Out-File輸出到日志文件實(shí)例,需要的朋友可以參考下2014-06-06PowerShell函數(shù)參數(shù)指定數(shù)據(jù)類型實(shí)例
這篇文章主要介紹了PowerShell函數(shù)參數(shù)指定數(shù)據(jù)類型實(shí)例,即強(qiáng)制參數(shù)的數(shù)據(jù)類型例子,需要的朋友可以參考下2014-07-07PowerShell中使用Get-EventLog讀取、篩選系統(tǒng)日志的例子
這篇文章主要介紹了PowerShell中使用Get-EventLog讀取、篩選系統(tǒng)日志的例子,比如按日志名稱、日志類型、時(shí)間的技巧,需要的朋友可以參考下2014-08-08