jeudi 20 mai 2021

Use PowerShell -Pattern to search for multiple values on multiple files

Team -- I have a snippet of code that works as designed. It will scan all the files within a folder hierarchy for a particular word and then return the de-duped file path of the files where all instance of the word were found.

$properties = @(
    'Path'
)

Get-ChildItem -Path \\Server_Name\Folder_Name\* -recurse |  
Select-String -Pattern ‘Hello’ | 
Select-Object $properties -Unique |
Export-Csv \\Server_Name\Folder_Name\File_Name.csv -NoTypeInformation

I'd like to

  1. Expand this code to be able to search for multiple words at once. So all cases where 'Hello' OR 'Hola' are found... and potentially an entire list of words if possible.
  2. Have the code return not only the file path but the word that tripped it ... with multiple lines for the same path if both words tripped it

I've found some article talking about doing multiple word searches using methods like:

  where { $_ | Select-String -Pattern 'Hello' } |
  where { $_ | Select-String -Pattern 'Hola' } |

OR

Select-String -Pattern ‘(Hello.Hola)|(Hola.Hello)’ 

These codes will run ... but return no data is returned in the output file ... it just blank with the header 'Path'.

I'm missing something obvious ... anyone spare a fresh set of eyes?

MS

Aucun commentaire:

Enregistrer un commentaire