色婆ijqwj 发表于 2018-9-3 10:06:44

【探索PowerShell 】【八】数组、哈希表(附:复制粘贴技巧)

  我们经常在程序设计中用到的数组,同样在脚本中很常用。本节就详细介绍一下数组,以及哈希表在PowerShell中的使用。
  数组
  在PowerShell中,声明一个变量为数组时,需要使用符号"@",例如:
  

  $strUsers=@(""user1","user2","user3)
  

  这样,我们就声明了一个具有3个成员的数组。查看它的值,使用:
  

  $strUsers
  


  还有一些其他的操作,如统计一个数组的成员数目:
  

  $strUsers.Count
  

  查看或者为数组成员单独赋值(需要注意的是,PowerShell与大多数程序语言一样,数组成员下标从0开始计数):
  

  $strUsers
  $strUsers="marui"
  

  也可以使用加号合并数组,如:

  哈希表
  哈希表,也就是字典,是一种非常优秀的数据结构,允许我们使用关键字进行查询,它几乎没有性能损失,这些都是因为它的基本结构能够很好的符合计算机存储运算特性。
  在声明哈希表变量时,同样需要用到符号"@",如:
  

  $age=@{}"MaRui"=21;"Lee"=27;"Tom"=53
  


  与数组相似的也有如下操作:
  


[*]查询
[*]$age["MaRui"]
[*]
[*]增加(注意,增加的同时一定要赋值,否则不会添加新条目)
[*]$age["Ma"]=24
[*]
[*]修改
[*]$age["Ma"]=25
[*]
[*]删除(注意,使用圆括号)
[*]$age.remove("Ma")
[*]
[*]清除哈希表
[*]$age.clear()
  

  这节的内容很简单,就讲到这里。感谢各位花时间来浏览我的博客!
  下去之后,有人问及我在PowerShell中如何进行复制粘贴,其实方法很简单,使用鼠标右键就可以了。
  复制
  我使用一个cmdlet来查看BIOS信息,并且复制它:
  

  get-wmiobject -class Win32_BIOS
  


  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一下就执行了,各位自己看结果吧。


页: [1]
查看完整版本: 【探索PowerShell 】【八】数组、哈希表(附:复制粘贴技巧)