Gor*_*ble 3 powershell foreach
我的循环遇到问题:
$array =@();
foreach($list in $Lists | Where-Object{"History", "Historic" -notmatch $list.Title})
{
$result = new-object psobject
$result | Add-Member -MemberType noteproperty -Name Title -value $list.Title
$array += $result
Write-Host $list.Title
}
Run Code Online (Sandbox Code Playgroud)
我想只保存标题中不包含"历史"或"历史"的结果.
例如,"Workflow blablabla - Historic"不会被保存.
找不到我的条件的正确语法:返回所有结果或根本不返回任何结果.
试试这个:
$result = $lists | ? {$_.Title -notmatch 'Histor(y|ic)'} | Select Title
Run Code Online (Sandbox Code Playgroud)
你的where子句是一个正则表达式,右边有一个正则表达式-notmatch.
这也有效:
$result = $lists | ? {$_.Title -notmatch 'History' -or $_.Title -notmatch 'Historic'} | Select Title
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
13585 次 |
| 最近记录: |