
설명하고 이해할 수 없는 상황에 직면했습니다. 명령줄에서 다음 명령을 실행하여 텍스트 파일을 만들었습니다.certutil -v -template > documents\templates.txt
6개의 서버에서 이 작업을 수행하고 파일을 이름으로 구별해야 했기 때문에 각 서버에서 명령을 수정할 필요가 없도록 대신 powershell을 사용하고 $env:COMPUTERNAME 변수를 사용하기로 결정했습니다. 그래서 PS ISE를 열고 다음을 입력했습니다.certutil -v -template | Out-File $env:USERPROFILE\Documents\$env:COMPUTERNAME-templates.txt
powershell에서 생성된 파일의 크기가 정확히 두 배인 것으로 나타났습니다. 파일을 비교하기 위해 명령줄에서 fc 명령을 실행하려고 시도했을 때 결과는 파일이 너무 다르다는 것이었습니다. 이 파일의 내용을 Excel(A 열에 한 파일, K 열에 두 번째 파일)에 넣고 아래로 스크롤하면서 눈으로 차이점을 스캔했을 때 차이점을 발견하지 못했고 두 파일의 행 수가 동일했습니다. . 노트북에 빈 텍스트 파일을 만들고 그 안에 Powershell 파일의 내용을 복사했는데 저장한 후 명령줄 파일과 크기가 동일해졌습니다.
크기 차이가 200kB이므로 문제가 되지 않지만 powershell이 명령줄 크기의 두 배인 파일을 생성했습니다. 그 이유는 무엇입니까? Powershell에서 생성된 txt 파일이 명령줄에서 생성된 파일보다 두 배 큰 이유는 무엇입니까? 더 큰 파일의 경우 문제가 될 수 있습니다.
답변1
나는 powershell이 UTF-8 파일과 비교하여 UTF-16 기반 파일을 만든다고 생각합니다.
따라서 powershell에서 각 문자는 실제로 2바이트입니다.
나는 한다른 이름으로 저장메모장에서 UTF-8로 저장하면 파일 크기는 1/2이 됩니다.