在Powershell中搜索文本文件中的多个字符串

时间:2018-04-12 12:44:04

标签: powershell

我有一个文本' File.txt'。有100多行。 该文件包含字符串' XX' (在任何一行),' YY' (在任何一行)和' ZZ' (在任何一行)。
我想检查文本文件是否真的包含' XX'或者' YY'或者' ZZ'。如果是,则退出脚本。
我不确定如何在下面的行中提供多种搜索模式或者对现有代码的任何修改都会有所帮助。

$myString = Select-String -Path C:\Temp\File.txt -Pattern "XX"

编辑代码:

$myFile = Get-Content -Path 'C:\file.txt | Out-String    
if (Select-String $myFile -Pattern 'XX|YY' -NotMatch)    
{    
Do something else    
} 

1 个答案:

答案 0 :(得分:1)

Select-String接受正则表达式作为模式,因此您只需使用逻辑OR来检查所有三个字符串:

if ( Select-String -Path C:\Temp\File.txt -Pattern 'XX|YY|ZZ' ) {
  echo "yes"
  # Do something else
}