检查PowerShell中的文本文件内容

问题描述 投票:0回答:2

PowerShell命令

Get-ADFSRelyingPartyTrust | select Name | out-file C:\listOfNames.txt

生成一个文件如下:

Name
----
AustriaRP
BahamasRP
BrazilRP
CanadaRP

[...]

现在,我如何检查BrazilRP是否已被提取并且C:\listOfNames.txt是否包含它?

powershell
2个回答
6
投票

Get-Content然后Select-String应该有所帮助。如果字符串在文件中,它将被返回。如果没有,那么该命令将返回空值。

Get-Content C:\listOfNames.txt | Select-String "BrazilRP"

如果“BrazilRP”不止一次出现,则所有出现的事件都将返回,因此您知道是否有任何重复。如果字符串是较长表达式的一部分,则同样适用。例如,如果您搜索“zil”,那么也将返回“BrazilRP”。

您还可以将结果传递给另一个文件:

Get-Content C:\listOfNames.txt | Select-String "BrazilRP" | Out-File C:\myResults.txt

5
投票

我找到了一个解决方案(但感谢PiotrWolkowski建议我使用Get-Content功能):

$file = Get-Content "C:\listOfNames.txt"
$containsWord = $file | %{$_ -match "BrazilRP"}
if ($containsWord -contains $true) {
    Write-Host "There is!"
} else {
    Write-Host "There ins't!"
}
© www.soinside.com 2019 - 2024. All rights reserved.