인수가있는 Get-Content -Tail은 무한 시간이 걸립니다 “D:\file”파일에서 실행하면 1

Get-Content -ReadCount 0 -encoding String -literalpath "D:\file"파일에서 실행하면 1 분 안에 16 진수 내용을 덤프하지만 실행 Get-Content -ReadCount 0 -tail 1 -encoding String -literalpath "D:\file"하면 Powershell은 30 분 후에도 출력을 제공하지 않습니다. 파일에 대한 링크 는 다음과 같습니다 . 내가 놓친 것은 무엇입니까?



답변

문제가있는 PowerShell Get-Content파일 nul-Encoding Byte

게시 한 링크에서 파일을 다운로드하고 Notepad ++로 열면 마지막 줄에 긴 nul문자 세트가 나타납니다 (아래 참조).

이 파일의 내용에 있고 Get-Content of : 와 함께 사용하는 구문을 사용하여 내용Get-Content -ReadCount 0 -tail 1 -encoding String -literalpath "D:\file" 을 얻으려면를 사용할 때 PowerShell 쿼리를 연결하는 것으로 보입니다 -encoding String.

PowerShell의 객체에서 NULL char (0x00)를 제거하는 방법 에 대한 다양한 답변에 대한이 게시물에서 제안했듯이 Get-Content 의 16 진수 값 /x00과 문자 집합에 대한 매개 변수와 함께 문자열로 식별되는 16 진수 값은 문자열로 식별되지 않는 것 같습니다. 이러한 16 진수 값과 마찬가지로 PowerShell을 혼동합니다.-Encoding String


결론 및 솔루션

바이트로 식별되는 문자 세트를 사용하여 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가 원하는 바이트 수입니다. -encoding 문자열이 없으므로 문자열이 실패합니다. – 사 비아 사치 무 케르 지