Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/powershell/11.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在Powershell中搜索文本文件中的多个字符串_Powershell - Fatal编程技术网

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

在Powershell中搜索文本文件中的多个字符串,powershell,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”。有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    
} 

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

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

您好arco444,我正在尝试存储file.txt的内容,如下所示,并使用搜索字符串检查YY或XX是否与文本文件不匹配,然后执行一些操作,但它会抛出一个错误。我错过了什么吗$myFile=Get Content-Path'C:\file.txt | Out String if(选择字符串$myFile-Pattern'XX | YY'-NotMatch){#做点别的}首先,我不明白你想做什么。其次,将此代码添加到原始帖子中。第三,我们需要您遇到的错误。我正在尝试检查我的文件'file.txt'是否不包含'XX'或'YY'。如果它不包含'XX'或'YY',那么我正在做一些事情。我们可以使用上面的选择字符串(编辑代码)吗?我遇到了一个类似“找不到接受参数“Get Content”的位置参数”的错误,只需使用@arco444提供的代码并否定if的test子句即可。