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
x가 원하는 바이트 수입니다. -encoding 문자열이 없으므로 문자열이 실패합니다. – 사 비아 사치 무 케르 지
Byte -literalpath "D:\file"