如何像 IN 语句一样使用 PowershellWhere-Object

2023-12-30

我有以下有效的代码:

foreach ($db in $svr.Databases | 
         where-object {
         $_.name -eq "testDB" 
         -or $_.name -eq "master"
         -or $_.name -eq "model"
         -or $_.name -eq "msdb" } )
{
  write-output $db.name
}

有更干净的方法吗?

就像是:

foreach ($db in $svr.Databases | 
         where-object {$_.name -in "testDB, master, model, msdb" } )    
{
  write-output $db.name
}

Use the -contains操作员。喜欢:

$dbs = "testDB", "master", "model", "msdb"

foreach ($db in ($svr.Databases | where-object {$dbs -contains $_.name  } )) {
    write-output $db.name
}

Use help about_Comparison_Operators了解有关此运算符和其他比较运算符的更多信息。

Update:

PowerShell v3 添加了-in操作员。原始问题中的示例将在 v3 中运行。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何像 IN 语句一样使用 PowershellWhere-Object 的相关文章

随机推荐