Určitě nejsem sám, kdo narazil u velkých souborů na to, že rutina Get-Content zabírá příliš mnoho RAM, u cca 150 MB txt souboru i více jak 4 GB RAM, pokud potřebuji zpracovávat soubor po jednotlivých řádcích. Obecně se doporučuje využít .NET rutiny, jak popisuje Yusuf Ozturk » PowerShell Performance Tips for Large Text Operations – Part 1: Reading Files
Z výše uvedeného se mi v praxi nejvíce osvědčilo:
$LogFilePath = Read-Host -Promt "Zadej cestu k souboru"
$Lines = [io.file]::ReadAllLines($LogFilePath)
[int]$LineNumber = 0;
# Read Lines
foreach ($Line in $Lines)
{
$LineNumber++
Write-Host $Line #vypíše aktuální řádek
}
V proměnné Line se nachází aktuální řádek souboru, takže je možné s nám dále pracovat.