internet2107
Goto Top

Powershell - Get-content where fullname

Hallo.
Mal wieder eine knifflige Aufgabe, die mich seit 2 Stunden graue Haare kostet face-sad

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*" }	}  
}

Content-ID: 354932

Url: https://administrator.de/contentid/354932

Ausgedruckt am: 25.11.2024 um 09:11 Uhr

colinardo
Lösung colinardo 15.11.2017 aktualisiert um 18:06:16 Uhr
Goto Top
Servus,
$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  
}
Grüße Uwe
internet2107
internet2107 15.11.2017 um 18:19:27 Uhr
Goto Top
DANKE!!, genial.
Schönen, erholsamen Feierabend.