PowerShell code below will search recursively all text file
on the path specified. If the pattern matches on the text file, the contents
will be copied and all matching patterns will be consolidated on a single file.
#=============================
Get-ChildItem -Path "d:\all_text_files \" -recurse
| ForEach-Object {
@'
= = =>>>The file name - {0}
{1}
- - - - - - -
`r`n
'@ -f $_.Name, (Get-Content $_.FullName )
} | Select-String
-pattern "router" | Out-File 'd:\d_output\output.txt'
#=============================
Code explanation:
Get-ChildItem -Path "d:\txt notes\" -recurse | ForEach-Object >>> Get all the items recursively on the path specified and for each object process each object
@' '@ >>> PowerShell string format that
any text or string between the @ symbol will be process exactly as it is
displayed, it’s like what you see is what you get.
{0} {1} >>> are place holders, in which the value
we be replaced as each object is processed by the for each loop
-f >>> is a format operator which utilizes the {0}
and {1} place holders
$_.Name, (Get-Content
$_.FullName ) >>> $_.Name will take place {0} and Get-Content $_.Fullname
takes the place holder {1}
| Select-String -pattern "router" >>> the pattern or the string that
will be search on each file
| Out-File 'd:\d_output\output.txt' >>> any
matching pattern will be kept on this text file
If you need to list only the filenames and don't need to copy the contents the code above can be tweak to this edited code below:
#=============================
Get-ChildItem -Path "d:\all_text_files \" -recurse | ForEach-Object {
@'
= = =>>>The file name - {0}
`r`n
- - - - - - -
'@ -f $_.Name
} | Select-String -pattern "router" | Out-File 'd:\d_output\filename_output.txt'
#=============================
The format (-f) operator needs {0} only since only the filename will be processed.
The code can also be used to search for eml files, since eml files are text files also. I think it might work also on xml files but I haven't test.
Happy scripting.
Cheers..till next time.
================================
Free Android Apps:
Click on links below to find out more:
Linux Android App cheat sheet:
Multiplication Table for early learners
Catholic Rosary Guide for Android:
Divine Mercy Chaplet Guide (A Powerful prayer):
Comments
Post a Comment