There are plenty of ways how PowerShell can read in text files, and they can differ considerably in time. Check for yourself. The examples below illustrate different approaches and measure the execution times. Just make sure the path in the example exists, and if not, choose a large text file to play with.
# make sure this file exists, or else # pick a different text file that is # very large $path = 'C:\Windows\Logs\DISM\dism.log' # slow reading line-by-line Measure-Command { $text = Get-Content -Path $Path } # fast reading entire text as one large string Measure-Command { $text = Get-Content -Path $Path -Raw } # fast reading text as string array with one # array element per line Measure-Command { $text = Get-Content -Path $Path -ReadCount 0 } # reading entire text with .NET # no advantage over -Raw Measure-Command { $text = [System.IO.File]::ReadAllText($path) }