Windows Powershell使用哈希表
哈希表存放的是对,在哈希表中不再仅仅限制使用数字寻址,可以使用任意类型的数据类型寻址。
创建哈希表
之前使用@()创建数组,现在使用@{}创建哈希表,使用哈希表的键访问对应的值。
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 男
在哈希表中存储数组
可以在创建哈希表时就使用数组,因为创建数组和哈希表的的元素关键字不冲突。一个是逗号,一个是分号。
PS C:Powershell> $stu=@{ Name = "小明";Age="12";sex="男";Books="三国演义","围城","哈姆雷特" } PS C:Powershell> $stu Name Value ---- ----- Books {三国演义, 围城, 哈姆雷特} Name 小明 Age 12 sex 男
在哈希表中插入新的键值
在哈希表中插入新的键值很方便,象定义变量一样,可以直接拿来使用
PS C:Powershell> $Student=@{} PS C:Powershell> $Student.Name="令狐冲" PS C:Powershell> $Student.School="华山派" PS C:Powershell> $Student Name Value ---- ----- Name 令狐冲 School 华山派
哈希表值的更新和删除
如果要更新键的值,可以直接重写。如果要删除这个键值对,可以使用Remove方法,参数为Key
PS C:Powershell> $stu Name Value ---- ----- Books {三国演义, 围城, 哈姆雷特} Name 小明 Age 12 sex 男 PS C:Powershell> $stu.Name="赵强" PS C:Powershell> $stu.Name 赵强 PS C:Powershell> $stu.Remove("Name") PS C:Powershell> $stu Name Value ---- ----- Books {三国演义, 围城, 哈姆雷特} Age 12 sex 男
使用哈希表格式化输出
在Powershell中哈希表的一个有趣的应用可以用来格式化文本输出。Powershell许多命令的输出结果都是以表格的形式,当然可以使用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---
上述的命令只能限制表格输出那些列,隐藏那些列。但是对于列的宽度,列标题无能为力,但是有了哈希表就可以实现更多自定义了。
表格的每一个列包含四个属性:
Expression:绑定的表达式
Width:列宽度
Label:列标题
Alignment:列的对齐方式
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
相关文章
PowerShell查找分区中最大文件的方法(查找文件并按大小排序)
这篇文章主要介绍了PowerShell查找分区中最大文件的方法,查找文件并按占用空间排序,并用命令参数只输出比如10条,这样就可以快速找出一个目录、一个分区下的N个最大的文件,需要的朋友可以参考下2014-08-08PowerShell入门教程之远程操作运行PowerShell的方法
这篇文章主要介绍了PowerShell入门教程之远程操作运行PowerShell的方法,本文讲解了配置远程基础结构、执行远程操作等内容,需要的朋友可以参考下2014-10-10PowerShell包含另一个脚本文件和获取当前脚本所在目录的方法例子
这篇文章主要介绍了PowerShell包含另一个脚本文件和获取当前脚本所在目录的方法例子,需要的朋友可以参考下2014-08-08Powershell小技巧之使用Copy-Item添加程序到开机启动
本文主要记录了本人安装office2013后遇到的一个小需求,然后用powershell实现了这个功能,特此记录下,并附上copy-item的使用方法2014-09-09
最新评论