PowerShell:如何将 -notlike 与多个值一起使用
您可以在 PowerShell 中使用 -notlike 运算符来过滤与特定模式不匹配的字符串。
您可以使用 -and 运算符以及 -notlike 运算符来过滤与多个模式不匹配的字符串:
Import-Csv $my_file | ? {$_.team -notlike "*ers*" -and $_.team -notlike "*ets*"}
此特定示例导入保存在 $my_file 变量指定位置的 CSV 文件,然后过滤该文件的行以仅显示 team 中字符串所在的行列与以下任一模式不匹配:
- “呃”
- “等”
以下示例展示了如何在实践中使用此语法。
示例:如何在 PowerShell 中将 -notlike 与多个值结合使用
假设我们有一个 CSV 文件保存在以下位置:
c:\users\bobbi\nba_data.csv
假设我们使用 Import-Csv cmdlet 来查看整个文件的内容:
该文件包含三列,显示不同篮球运动员的球队、得分和助攻。
假设我们只想导入 team 列中的字符串不包含以下任一模式的行:
- “呃”
- “等”
我们可以使用以下语法来执行此操作:
$my_file = "c:\users\bobbi\nba_data.csv"
Import-Csv $my_file | ? {$_.team -notlike "*ers*" -and $_.team -notlike "*ets*"}
以下屏幕截图显示了如何在实践中使用此语法:
请注意,team 列中的字符串包含“ers”或“ets”的所有行均已从输出中排除。
具体来说,以下团队名称被过滤掉:
- 湖人队
- 网队
- 火箭队
注意:在此示例中,我们使用 -and 运算符来过滤掉与两个特定模式匹配的字符串,但您也可以使用 -and 运算符您想要过滤掉更多模式的次数不限。

