인수가있는 Get-Content -Tail은 무한 시간이 걸립니다


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 분 후에도 출력을 제공하지 않습니다. 파일에 대한 링크 는 다음과 같습니다 . 내가 놓친 것은 무엇입니까?


다음은 다른 파일 같은 문제로 겪고있다.
Sabyasachi Mukherjee

@PIMP_JUICE_IT -encoding byte스위치 를 추가하여 해결했습니다 . 당신이 옳았. 16 진수 값이 \ x00으로 끝나는 파일은 실제로 꼬리가 없기 때문에 문제가됩니다.
Sabyasachi Mukherjee

답을 추가하면 영광입니다. 작동 한 구문은 Get-Content -ReadCount 0 -tail x -encoding Byte -literalpath "D:\file"x가 원하는 바이트 수입니다. -encoding String꼬리가 없으므로 실패합니다.
Sabyasachi Mukherjee

아니요. 문제를 명확히하고 필요에 따라 솔루션을 제공합니다.
Sabyasachi Mukherjee

답변:


1

문제가있는 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 문자열이 없으므로 문자열이 실패합니다. – 사 비아 사치 무 케르 지

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.