-
管道并不是什么新事物,以前的Cmd控制台也有重定向的命令,例如Dir | More可以将结果分屏显示。 传统的Cmd管道是基于文本的,但是Powershell是基于对象。 PS> ls | Sort-Object -Descending Name | Select-Object Name,Length,LastWriteTime | ConvertTo-Html | Out-File ls.html PS> Get-Content .ls.html 首先列出当前目录下的目录和文件,然后根据文件名降序排列,再投影文件名,文件大小,文件的修改时间,转换成Html格式,输出到当前目录的ls.html查看全部
-
cpu越来越快,网络和硬盘却不是,所以maybe pythone的缺点并不是缺点。查看全部
-
c、java、pythone的对比 c 速度很快,代码非常多。 java 速度快,代码多。 pythone 速度慢,代码少。查看全部
-
pythone适合于开发什么呢? web网站和各种网络服务 系统工具盒脚本 作为“胶水”语言把其他语言开发的模块包装起来方便使用 不适合开发什么呢? 贴近硬件的代码(比如驱动程序,首选C) 移动开发(ios、android) 游戏开发(C/C++)查看全部
-
set存储的元素和dict的key类似,必须是不变对象查看全部
-
dict的第二个特点就是存储的key-value序对是没有顺序的查看全部
-
使用哈希表格式化输出 在Powershell中哈希表的一个有趣的应用可以用来格式化文本输出。Powershell许多命令的输出结果都是以表格的形式,当然可以使用Format-Table自定义表格格式,例如: PS C:Powershell> Dir | Format-Table Directory: C:Powershell Mode LastWriteTime Length Name ---- ------------- ------ ---- d---- 2011/11/23 17:25 ABC 上述命令只能限制表格输出那些列,隐藏那些列。但是对于列的宽度,列标题无能为力,但是有了哈希表就可以实现更多自定义。 表格的每一个列包含四个属性: 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查看全部
-
哈希表值的更新和删除 如果要更新键的值,可以直接重写。如果要删除这个键值对,可以使用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 男查看全部
-
在哈希表中存储数组 可以在创建哈希表时就使用数组,因为创建数组和哈希表的的元素关键字不冲突。一个是逗号,一个是分号。 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 华山派查看全部
-
哈希表存放的是对,在哈希表中不再仅仅限制使用数字寻址,可以使用任意类型的数据类型寻址。 创建哈希表 之前使用@()创建数组,现在使用@{}创建哈希表,使用哈希表的键访问对应的值。 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 男查看全部
-
Powershell数组一般具有多态性,如果你不指定元素的具体类型,解释器会自动选择合适的类型存储每个元素。如果要统一限制所有元素的类型,可是使用类型名和一对方括号作为数组变量的类型。这样每当赋值时,会自动类型检查。如果目标数据类型不能转换成功,就会抛出一个异常。 PS C:Powershell> [int[]] $nums=@() PS C:Powershell> $nums+=2012 PS C:Powershell> $nums+=12.3 PS C:Powershell> $nums+="999" PS C:Powershell> $nums+="can not convert" Cannot convert value "can not convert" to type "System.Int32". Error: "Input string was not in a correct format." At line:1 char:6 + $nums <<<< +="can not convert" + CategoryInfo : MetadataError: (:) [], ArgumentTransformationMetadataException + FullyQualifiedErrorId : RuntimeException查看全部
-
数组属于引用类型,使用默认的的赋值运算符在两个变量之间赋值只是复制了一个引用,两个变量共享同一份数据。这样的模式有一个弊病如果其中一个改变也会株连到另外一个。所以复制数组最好使用Clone()方法,除非有特殊需求。 PS C:Powershell> $chs=@("A","B","C") PS C:Powershell> $chsBak=$chs PS C:Powershell> $chsBak[1]="H" PS C:Powershell> $chs A H C PS C:Powershell> $chs.Equals($chsBak) True PS C:Powershell> $chsNew=$chs.Clone() PS C:Powershell> $chsNew[1]="Good" PS C:Powershell> $chs.Equals($chsNew) False PS C:Powershell> $chs A H C查看全部
-
给数组添加和删除元素 因为Powershell数组在内存中是顺序存储的,所以数组的大小必须是确定的,这样才方便分配存储空间,所以给数组增加元素其实相当于创建一个新的数组,只不过之后会把原来的副本删除。在当前数组追加元素可以使用“+=”操作符。 PS C:Powershell> $books="元素1","元素2","元素3" PS C:Powershell> $books+="元素4" PS C:Powershell> $books 元素1 元素2 元素3 元素4 要删除第三个元素可是使用: PS C:Powershell> $num=1..4 PS C:Powershell> $num 1 2 3 4 PS C:Powershell> $num=$num[0..1]+$num[3] PS C:Powershell> $num 1 2 4查看全部
-
将数组逆序输出 PS C:Powershell> $books="元素1","元素2","元素3" PS C:Powershell> $books[($books.Count)..0] 元素3 元素2 元素1查看全部
-
从数组中选择多个元素 PS C:Powershell> $result=ls PS C:Powershell> $result[0,3,5,12] Directory: C:Powershell Mode LastWriteTime Length Name ---- ------------- ------ ---- d---- 2011/11/23 17:25 ABC -a--- 2011/11/24 20:04 26384 a.txt -a--- 2011/11/24 20:27 12060 alias.ps1 -a--- 2011/11/24 17:37 7420 name.html查看全部
举报
0/150
提交
取消