Windows 스크립트를 작성 중이며 특정 프로세스에 대한 열린 파일 목록을 가져 오려고합니다. Sysinternals의 handle.exe
은 잘 작동하지만 ASCII 파일 이름은 인 것 같습니다. ASCII 문자가 아닌 문자의 경우 물음표가 인쇄됩니다. cmd.exe가 어떻게 표시하는지는 문제가 아닙니다. handle.exe는 비 ASCII 문자를 "?"로 바꿉니다. (문자 0x3F) [1].Windows : ASCII가 아닌 파일 이름에 대한 열린 파일 목록
참고 [1] 동일한 cmd.exe를 디스플레이에dir
잘는 파일 이름. 100 % 확실하게하려면이 명령을 handle.exe > c:\temp.txt
으로 실행 한 다음 16 진수 편집기로 temp.txt를 봅니다. 비 ASCII 문자 대신 실제로 0x3F 바이트가 있습니다.
이 보이는 재부팅해야합니다. –
ASCII가 아닌 ANSI를 강조 표시합니다. 'chcp'로 가십시오. handle.exe는 해당 문자 집합의 모든 문자를 정상적으로 표시해야합니다. PowerShell을 사용해보십시오. –
handle.exe는 ANSI 출력을 사용하도록 하드 코드되어 있습니다. 콘솔 코드 페이지를 사용하지 않습니다. – eryksun