Powershell - Get-content where fullname
Hallo.
Mal wieder eine knifflige Aufgabe, die mich seit 2 Stunden graue Haare kostet
Im Code unten soll als Beispiel ein Pfad nach Dateien mit dem Namen "47564754444", oder auch Inhalte von Dateien mit dem Wert "47564754444" durchsucht werden.
Es macht das, was es soll.
Er gibt mir für die Datei die den Namen beinhaltet den Pfad (Fullname) an.
Er durchsucht die Dateien und findet auch Inhalte mit dem Wert. Hier aber bekomme ich zum Haare ausreißen jedoch nicht den Fullname hin. Er gibt mir immer wieder nur den Inhalt der Textdatei aus. Ich brauche aber nicht den Inhalt, sondern definitiv nur den Dateinamen inkl. Pfad.
Mal wieder eine knifflige Aufgabe, die mich seit 2 Stunden graue Haare kostet
Im Code unten soll als Beispiel ein Pfad nach Dateien mit dem Namen "47564754444", oder auch Inhalte von Dateien mit dem Wert "47564754444" durchsucht werden.
Es macht das, was es soll.
Er gibt mir für die Datei die den Namen beinhaltet den Pfad (Fullname) an.
Er durchsucht die Dateien und findet auch Inhalte mit dem Wert. Hier aber bekomme ich zum Haare ausreißen jedoch nicht den Fullname hin. Er gibt mir immer wieder nur den Inhalt der Textdatei aus. Ich brauche aber nicht den Inhalt, sondern definitiv nur den Dateinamen inkl. Pfad.
$path = "g:\tools"
Invoke-Command -ComputerName $computer -Credential $cred -ScriptBlock {
gci -path $using:path -recurse | Where-Object { $_.Name -like "*47564754444*" }
$path_recursive = gci -path "$using:path\" -recurse -Include *.txt,*.log
foreach ($file in $path_recursive)
{
Get-Content $file.FullName | Where-Object { $_ -like "*47564754444*" } }
}
Please also mark the comments that contributed to the solution of the article
Content-Key: 354932
Url: https://administrator.de/contentid/354932
Printed on: April 25, 2024 at 20:04 o'clock
2 Comments
Latest comment
Servus,
Grüße Uwe
$path = "g:\tools"
Invoke-Command -ComputerName $computer -Credential $cred -ScriptBlock {
gci -path "$($using:path)" -recurse | ?{!$_.PSIsContainer -and ($_.Name -like "*47564754444*" -or (select-string -Path $_.Fullname -Pattern "47564754444" -SimpleMatch -quiet)) } | select -Expand Fullname
}