Выпуск
Measure-Object -Line
поведение не соответствует и не возвращает правильное количество строк при попытке прочитать файл.
Использование .Count
, похоже, решает эту конкретную проблему, но, опять же, она не является согласованной, поскольку она не работает аналогично при работе со строкой.
Вопрос
Как я могу последовательно получить правильное количество строк из текста или файла?
MWE
$File = ".\test.ini"
$FileContent = Get-Content $File
$Content =
" # 1
[2]
3
5
[7]
; 9
"
$EndOfFile = $FileContent | Measure-Object -Line
$EndOfText = $Content | Measure-Object -Line
Write-Output "Lines from file: $($EndOfFile.Lines)"
Write-Output "Lines from text: $($EndOfText.Lines)"
Write-Output "Count from file: $($FileContent.Count)"
Write-Output "Count from text: $($Content.Count)"
Примечание: Содержимое test.ini
точно такое же, как и у переменной $Content
.
выход
Lines from file: 6
Lines from text: 9
Count from file: 9
Count from text: 1