Get-Content -ReadCount 0 does not respect -TotalCount
See original GitHub issueGet-Content -ReadCount 0
is a convenient way to request that all lines be read at once, into an array and to have that array be output as a single object to the success stream.
If the intent is to read all lines into memory anyway, this can greatly speed up the command.
-TotalCount <n>
allows you to limit the overall number of lines to be read from the file to a given number.
It’s reasonable to expect that -ReadCount 0
also respects that number and therefore returns an <n>
-element array.
Currently, -ReadCount 0
effectively ignores -TotalCount
and always returns all lines in the file as an array.
By contrast, a specific number - e.g, -ReadCount 2
to read the file as a stream of 2-element arrays - does respect -TotalCount
.
Steps to reproduce
1..10 > temp:/$pid.txt
(Get-Content temp:/$pid.txt -TotalCount 3 -ReadCount 0).Count | Should -Be 3
Remove-Item temp:/$pid.txt
Expected behavior
The test should pass.
Actual behavior
The test fails:
Expected 3, but got 10.
That is, all 10 lines were read, even though only 3 were requested with -TotalCount
Environment data
PowerShell Core 7.0.0-preview.4
Issue Analytics
- State:
- Created 4 years ago
- Comments:6 (2 by maintainers)
I would like to work on it.
In the case we have a bug. Simple for hacktoberfest.