PowerShell: be careful using `-ReadCount` on `Get-Content`
Posted by jpluimers on 2019/08/14
I learned this the hard way: [WayBack] Different result when using -ReadCount with Get-Content: because -ReadCount delivers data in chunks, the filter after [WayBack] Get-Content (Microsoft.PowerShell.Management) it will only filter on those chunks. If the filter isn’t prepared for that, it might only filter the last chunk.
So do not use for instance [WayBack] Select-String (Microsoft.PowerShell.Utility) on it, but perform your own [WayBack] ForEach-Object (Microsoft.PowerShell.Core) aliased as foreach like in [WayBack] Get all lines containing a string in a huge text file – as fast as possible?:
Get-Content myfile.txt -ReadCount 1000 | foreach { $_ -match "my_string" }
A more elaborate example is at [WayBack] How can I make this PowerShell script parse large files faster?.
–jeroen






Leave a comment