Get-Content с аргументом -Tail занимает неопределенное время
Когда я выполню Get-Content -ReadCount 0 -encoding String -literalpath "D:\file"
в файл, он выгружает шестнадцатеричное содержимое в течение минуты, но когда я выполняю Get-Content -ReadCount 0 -tail 1 -encoding String -literalpath "D:\file"
Powershell не выдает никаких результатов даже через 30 минут. Вот ссылка на файл. Что мне не хватает?
1 ответ
PowerShell Get-Content
файл nul
значение с -Encoding Byte
вопрос
После загрузки файла по ссылке, которую вы разместили, и открытия его с помощью Notepad ++, кажется, что последняя строка содержит длинный набор nul
символы (см. ниже).
Имея это в содержании этого файла и синтаксисе, который вы использовали с Get-Content: 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"
где х - это количество байтов, которое вы хотите. -кодирование строки не выполняется, так как хвоста нет. - Sabyasachi Mukherjee