在Powershell中搜索文本文件中的多个字符串
我有一个文本“File.txt”。有100条线。 该文件包含字符串“XX”(在任何行中)、“YY”(在任何行中)和“ZZ”(在任何行中)。在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
我想检查文本文件是否真的包含'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子句即可。