探索PowerShell (八) 数组、哈希表(附:复制粘贴技巧)
我们经常在程序设计中用到的数组,同样在脚本中很常用。本节就详细介绍一下数组,以及哈希表在powershell中的使用。
数组
在powershell中,声明一个变量为数组时,需要使用符号"@",例如:
$strusers=@(""user1","user2","user3) <enter>
这样,我们就声明了一个具有3个成员的数组。查看它的值,使用:
$strusers <enter>
还有一些其他的操作,如统计一个数组的成员数目:
$strusers.count <enter>
查看或者为数组成员单独赋值(需要注意的是,powershell与大多数程序语言一样,数组成员下标从0开始计数):
$strusers[0] <enter>
$strusers[1]="marui" <enter>
也可以使用加号合并数组,如:
哈希表
哈希表,也就是字典,是一种非常优秀的数据结构,允许我们使用关键字进行查询,它几乎没有性能损失,这些都是因为它的基本结构能够很好的符合计算机存储运算特性。
在声明哈希表变量时,同样需要用到符号"@",如:
$age=@{} <enter> "marui"=21;"lee"=27;"tom"=53
与数组相似的也有如下操作:
查询
$age["marui"] <enter>
增加(注意,增加的同时一定要赋值,否则不会添加新条目)
$age["ma"]=24 <enter>
修改
$age["ma"]=25 <enter>
删除(注意,使用圆括号)
$age.remove("ma") <enter>
清除哈希表
$age.clear() <enter>
这节的内容很简单,就讲到这里。感谢各位花时间来浏览我的博客!
下去之后,有人问及我在powershell中如何进行复制粘贴,其实方法很简单,使用鼠标右键就可以了。
复制
我使用一个cmdlet来查看bios信息,并且复制它:
get-wmiobject -class win32_bios <enter>
step 1:
使用鼠标左键直接选取要复制的内容
step 2:
在被选取区域单击鼠标右键即被复制。
现在粘贴到这里:
smbiosbiosversion : 7uet82ww (3.12 )
manufacturer : lenovo
name : ver 1.00parttbl(
serialnumber : r8rngg3
version : lenovo - 3120
粘贴
step 1:
复制内容,请各位试试复制下面的脚本内容(此脚本用来查看bios的详细信息):
$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中单击鼠标右键即可。
看看结果:
再enter一下就执行了,各位自己看结果吧。