Powershell 搜索txt文件并返回PC名称(如果字符串存在)

Powershell 搜索txt文件并返回PC名称(如果字符串存在),powershell,Powershell,我可能不应该添加我试图调整的脚本,因为它可能不是开始时的最佳选择。我只知道它必须能够从文本文件中获取字符串并返回一些结果。这基本上就是我需要的。想要添加这样的变量:$env:COMPUTERNAME 每台电脑都有一个C:\someSoftware\version\格式的文件,还有一个txt文件 在这个文本文件中,有一个版本号,格式如下:VER=1.425.1 我希望脚本告诉我哪些计算机不是1.425.1版 在此问题上的任何帮助都将不胜感激 $Path = "C:\Admin\" $Text =

我可能不应该添加我试图调整的脚本,因为它可能不是开始时的最佳选择。我只知道它必须能够从文本文件中获取字符串并返回一些结果。这基本上就是我需要的。想要添加这样的变量:$env:COMPUTERNAME 每台电脑都有一个C:\someSoftware\version\格式的文件,还有一个txt文件

在这个文本文件中,有一个版本号,格式如下:VER=1.425.1

我希望脚本告诉我哪些计算机不是1.425.1版

在此问题上的任何帮助都将不胜感激

$Path = "C:\Admin\"
$Text = "SomeText"
$PathArray = @()
$Results = "C:\temp\test.txt"

# This code snippet gets all the files in $Path that end in ".txt".

Get-ChildItem $Path -Filter "*.txt" |
Where-Object { $_.Attributes -ne "Directory"} |

ForEach-Object {
  If (Get-Content $_.FullName | Select-String -Pattern $Text) {
    $PathArray += $_.FullName
    $PathArray += $_.FullName
  }
}

Write-Host "Contents of ArrayPath:"
$PathArray | % {$_} | Out-File "C:\SearchString\Output.txt"

如果要将主机名而不是文件名添加到数组中,只需执行以下操作:
$PathArrray+=$env:computername
您准备了var
$Result
,而不使用它。选择字符串可以一次完成:
(sls-路径“C:\Admin\*.txt”-模式“SomeText”-Simplematch)。文件名|设置内容“C:\temp\test.txt”
Paxz,看起来很有希望,但我的结果没有返回任何内容。我支持Paxz!看起来你的陈述有一个额外的“r”。在移除后像冠军一样工作。谢谢