PowerShell 脚本:需要程序指定内容的位置

PowerShell 脚本:需要程序指定内容的位置
$webClient = new-object System.Net.WebClient
$webClient.Headers.Add("user-agent", "PowerShell Script")
$keyword = read-host "Keyword:"
$info = get-content c:\users\dell\desktop\urls.txt

foreach ($i in $info) {
    $output = ""
    $output = $webClient.DownloadString($i)

    if ($output -like "*$keyword*") {
        $b = Get-Date
        $ButtonType = [System.Windows.MessageBoxButton]::Ok
        $MessageboxTitle = “Open Source Information Collection”
        $Messageboxbody = "Detected the keyword $keyword at $b"
        $MessageIcon = [System.Windows.MessageBoxImage]::Asterisk
        [System.Windows.MessageBox]::Show($Messageboxbody,$MessageboxTitle,$ButtonType,$messageicon)
    }

}

该代码确实从 urls.txt 文件中列出的各个网站获取内容,并搜索特定的关键字。

如果找到关键字,则通知用户。

然而,我所缺少的是,程序不仅要通知用户找到了与内容匹配的关键字,还要说出与关键字匹配的内容来自哪个网站。

有想法吗?

答案1

我认为您正在寻找的 URL 位于 $i。

[System.Windows.MessageBox]::Show($Messageboxbody,$MessageboxTitle,$ButtonType,$messageicon,$i)

从您的代码来看,您正在从 $info 中分配 $i,因此 $i 应该是随后检查关键字的单个 URL。

由于尚未运行代码并查看格式,您可能需要将 $i 添加到 $messageboxbody。例如

$Messageboxbody = "Detected the keyword $keyword at $b from URL $i"

希望这可以帮助。

谢谢,蒂姆。

相关内容