在Powershell中,我可以在foreach语句中使用选择字符串-quiet开关吗?



我正在尝试编写一个脚本来检查字符串是否在文件中,如果它继续并检查下一个并继续,直到所有内容都被选中,如果它找到一个不存在的,那么脚本将终止。我是否可以在 if 语句中使用带有布尔结果(-quiet开关)的 select-string 语句。pinglist.txt文件包含服务器列表,另一个_pinglist.ini包含大型服务器列表。我是新手,所以请原谅我糟糕的脚本。谢谢

$Original_File = 'C:JobsPowershellPingerOther_PingList.ini'
$PingList= 'C:JobsPowershellpinglist.txt'
#
Foreach ($item in $pingList)
{If (Select-String $Original_File -pattern $item -quiet) {
Write-Host "Servers Present In File - Carrying on"
}}
Else {
   Write-Host "Servers Not Present In File - Terminating"
}

试试吧

$Original_File = gc 'C:JobsPowershellPingerOther_PingList.ini'
$PingList= gc 'C:JobsPowershellpinglist.txt'    
Foreach ($item in $pingList)
{
    If ($Original_File -match $item ) 
    {
        Write-Host "Servers $item Present In File - Carrying on"
    }
    Else
    {
        Write-Host "Servers $item Not Present In File - Terminating"
    }
}

我是否可以在 if 语句中使用带有布尔结果(-quiet 开关)的选择字符串语句

是的。从文档中:

-安静

返回布尔值(真或假),而不是 MatchInfo 对象。如果找到模式,则值为"true";否则,该值为"假"。

您当前的脚本有问题吗?是什么促使人们开始提出这个问题?

相关内容

  • 没有找到相关文章

最新更新