我正在尝试编写一个脚本来检查字符串是否在文件中,如果它继续并检查下一个并继续,直到所有内容都被选中,如果它找到一个不存在的,那么脚本将终止。我是否可以在 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";否则,该值为"假"。
源
您当前的脚本有问题吗?是什么促使人们开始提出这个问题?