输入
-
默认输入
- 默认会在管道后退出
Out-Default
,依据前一个后果决定如何输入,也就是总会在管道开端退出Format-Custom
、Format-List
、Format-Table
、Format-Wide
和Out-Host
- 例如
ls
等于ls | Format-Table | Out-Host
- 默认会在管道后退出
-
其余输入形式
Get-Command -Verb out
查看其余输入形式
-
不显示输入
Out-Null
或>$null
,例如创立文件夹等命令不须要输入后果md ABC >$null
排序、筛选
-
排序
ls | Sort-Object Length -Descending
按 Length 降序
-
筛选属性
ls | Select-Object Name,Length
只显示 Name 和 Length- 如果命令有
-Properties
参数也有相似性能,但理论性能还需注意阐明,例如Get-ADUser
的这个参数是指定显示扩大属性中的某些我的项目。
-
筛选对象
ls | Select-Object -First 2
,只显示前 2 个后果ls | Where-Object {$_.Length -gt 500}
显示大于 500b 的文件- 如果命令有
-Filter
参数也能筛选,不同的命令筛选性能各有不同,应用此参数效率更高
变量
- 替换变量值
$a,$b = $b,$a
-
申明变量时指定类型,零碎会主动将获取到的字符串转换为指定类型
- 例如
[XML]$xml=(Get-Content .LogoTestConfig.xml)
,而后就能用$xml.
的模式来拜访文件内的节点了。 - 例如
[DateTime]$date="2012-12-20 12:45:00"
,而后$date
能间接调用DateTime
的所有办法。
- 例如
-
任何对象都能够应用
Format-List *
查看它所有的属性和办法- 例如
Get-WmiObject Win32_ComputerSystem | fl *
- 例如
内置变量
Column1 | Column2 |
---|---|
$env |
零碎环境变量 |
$PSScriptRoot |
脚本所在目录 |
别名
- 依据残缺名
Get-Alias -Definition '*smbshare*'
- 依据别名
Get-Alias [-Name] 'Get-Alias'
多行文本
$text [email protected]"xxxxx"@
多行正文
<#
xxxxx
#>
异样解决
设置异样后程序如何解决 $ErrorActionPreference = "stop"
执行策略
https://docs.microsoft.com/zh…
重定向
Tee-Object
可同时输入和保留到文件。例如ls | Tee-Object ls.txt
- 将命令的后果赋给变量,变量会将后果按行存为数组
... | Format-List *
查看任意对象的所有属性和办法
数组
$num = 1,2,3,4,5
$num = 1..5
- 空数组
$a = @()
- 一个元素的数组
$a = ,1
- 判断是否为数组
$a -is [array]
- 抉择特定元素
$a[0,4,5]
- 增加元素
$a+=1
- 删除第 3 个元素,
$a[0..2]+$a[3]
哈希表
创立哈希表$a = @{}
$a = @{Age=1;Name='Jone'}
插入$a.Sex = '男'