Get-Content com argumento -Tail leva tempo indefinido

1

Quando executo Get-Content -ReadCount 0 -encoding String -literalpath "D:\file" em um arquivo, ele despeja o conteúdo hexadecimal em um minuto, mas quando executo Get-Content -ReadCount 0 -tail 1 -encoding String -literalpath "D:\file" , o Powershell não gera nenhuma saída, mesmo depois de 30 minutos. Aqui está o link para o arquivo . O que é que eu estou sentindo falta?

    
por Sabyasachi Mukherjee 04.08.2016 / 21:42

1 resposta

1

PowerShell Get-Content file nul valor com -Encoding Byte issue

Após baixar o arquivo do link que você postou e abri-lo com o Notepad ++ , parece que a linha final tem um longo conjunto de nul caracteres (veja abaixo).

Comissonoconteúdodessearquivoenasintaxequevocêestavausandocom Get-Content : Get-Content -ReadCount 0 -tail 1 -encoding String -literalpath "D:\file" para obter o conteúdo, parece que ele atualiza a consulta do PowerShell ao usar o -encoding String .

Como sugerido neste post sobre várias respostas Como para remover NULL char (0x00) do objeto dentro do PowerShell , parece que o valor hexadecimal de /x00 e usando Get-Content com o parâmetro -Encoding String para o conjunto de caracteres a ser identificado como string, ele não gosta desses valores hexadecimais e confunde o PowerShell.

Conclusão e Solução

A alteração da sintaxe Get-Content usando -Encoding Byte para o conjunto de caracteres a ser identificado como bytes aparece resolver este problema.

Get-Content -ReadCount 0 -tail x -encoding Byte -literalpath "D:\file"

The syntax that worked is Get-Content -ReadCount 0 -tail x -encoding Byte -literalpath "D:\file" where x is the number of bytes you want. -encoding String fails as there is no tail. – Sabyasachi Mukherjee

    
por 06.08.2016 / 22:32