Значение Get-Content
файла PowerShell nul
с -Encoding Byte
проблемой
После загрузки файла по ссылке, которую вы разместили, и открытия его с помощью Notepad ++, кажется, что последняя строка содержит длинный набор nul
символов (см. Ниже).
С учетом того, что он находится в содержимом этого файла и в синтаксисе, который вы использовали с Get-Content of: Get-Content -ReadCount 0 -tail 1 -encoding String -literalpath "D:\file"
для получения содержимого, кажется, что он использует запрос PowerShell при использовании -encoding String
.
Как предлагается в этом посте в различных ответах Как удалить NULL char (0x00) из объекта в PowerShell, кажется, что шестнадцатеричное значение /x00
и использование Get-Content с параметром -Encoding String
для набора символов, который должен быть идентифицирован как строка, не как эти шестнадцатеричные значения и сбивает с толку PowerShell.
Заключение и решение
Переключение синтаксиса Get-Content с использованием -Encoding Byte
набора символов, идентифицируемого как байты, по-видимому, решает эту проблему.
Get-Content -ReadCount 0 -tail x -encoding Byte -literalpath "D:\file"
Синтаксис сработал так:
Get-Content -ReadCount 0 -tail x -encoding Byte -literalpath "D:\file"
где x - это количество байтов, которое вы хотите. -кодирование строки не выполняется, так как хвоста нет. - Сабясачи Мукерджи