【探索PowerShell 】【八】数组、哈希表(附:复制粘贴技巧)-阿里云开发者社区

开发者社区> 技术小胖子> 正文

【探索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

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


  1. 查询  
  2. $age["MaRui"] <enter>  
  3.  
  4. 增加(注意,增加的同时一定要赋值,否则不会添加新条目)  
  5. $age["Ma"]=24 <enter>  
  6.  
  7. 修改  
  8. $age["Ma"]=25 <enter>  
  9.  
  10. 删除(注意,使用圆括号)  
  11. $age.remove("Ma") <enter>  
  12.  
  13. 清除哈希表  
  14. $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的详细信息):


  1. $info = get-wmiobject -class Win32_BIOS -namespace root\CIMV2 -comp .  
  2.  
  3. foreach ($objItem in $info) {  
  4. write-host “BIOS Characteristics: ” $objItem.BiosCharacteristics  
  5. write-host “BIOS Version: ” $objItem.BIOSVersion  
  6. write-host “Build Number: ” $objItem.BuildNumber  
  7. write-host “Caption: ” $objItem.Caption  
  8. write-host “Code Set: ” $objItem.CodeSet  
  9. write-host “Current Language: ” $objItem.CurrentLanguage  
  10. write-host “Description: ” $objItem.Description  
  11. write-host “Identification Code: ” $objItem.IdentificationCode  
  12. write-host “Installable Languages: ” $objItem.InstallableLanguages  
  13. write-host “Installation Date: ” $objItem.InstallDate  
  14. write-host “Language Edition: ” $objItem.LanguageEdition  
  15. write-host “List Of Languages: ” $objItem.ListOfLanguages  
  16. write-host “Manufacturer: ” $objItem.Manufacturer  
  17. write-host “Name: ” $objItem.Name 
  18. write-host “Other Target Operating System: ” $objItem.OtherTargetOS  
  19. write-host “Primary BIOS: ” $objItem.PrimaryBIOS  
  20. write-host “Release Date: ” $objItem.ReleaseDate  
  21. write-host “Serial Number: ” $objItem.SerialNumber  
  22. write-host “SMBIOS BIOS Version: ” $objItem.SMBIOSBIOSVersion  
  23. write-host “SMBIOS Major Version: ” $objItem.SMBIOSMajorVersion  
  24. write-host “SMBIOS Minor Version: ” $objItem.SMBIOSMinorVersion  
  25. write-host “SMBIOS Present: ” $objItem.SMBIOSPresent  
  26. write-host “Software Element ID: ” $objItem.SoftwareElementID  
  27. write-host “Software Element State: ” $objItem.SoftwareElementState  
  28. write-host “Status: ” $objItem.Status  
  29. write-host “Target Operating System: ” $objItem.TargetOperatingSystem  
  30. write-host “Version: ” $objItem.Version  
  31. write-host  

Step 2:

在PowerShell中单击鼠标右键即可。

看看结果:

再enter一下就执行了,各位自己看结果吧。




     本文转自melvillo 51CTO博客,原文链接:http://blog.51cto.com/marui/293506,如需转载请自行联系原作者




版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
阿里云服务器端口号设置
阿里云服务器初级使用者可能面临的问题之一. 使用tomcat或者其他服务器软件设置端口号后,比如 一些不是默认的, mysql的 3306, mssql的1433,有时候打不开网页, 原因是没有在ecs安全组去设置这个端口号. 解决: 点击ecs下网络和安全下的安全组 在弹出的安全组中,如果没有就新建安全组,然后点击配置规则 最后如上图点击添加...或快速创建.   have fun!  将编程看作是一门艺术,而不单单是个技术。
4485 0
Ansible复制文件copy和执行脚本shell(学习笔记二)
用途 系统 IP 服务端 Linux7.2 52.244 客户端 Linux7.2 52.245 客户端 Linux7.2 52.246 客户端 Linux7.
1059 0
(asp)JScript读写、复制、移动文件 asp也就那回事(4)
百度博客http://hi.baidu.com/sdink/blog/ 和QQ空间同时更新http://516649425.qzone.qq.com  
770 0
13262
文章
0
问答
文章排行榜
最热
最新
相关电子书
更多
文娱运维技术
立即下载
《SaaS模式云原生数据仓库应用场景实践》
立即下载
《看见新力量:二》电子书
立即下载