csv 파일의 텍스트를 텍스트 파일에 추가하는 Powershell

csv 파일의 텍스트를 텍스트 파일에 추가하는 Powershell

csv 파일 내용을 복사하여 텍스트 파일에 추가하려고 합니다. 복사 및 추가는 작동하지만 추가된 형식이 이상합니다.

이것은 내가 사용하는 명령입니다:

콘텐츠 가져오기 -Path myfile1.csv | 개체 선택 -건너뛰기 1 | 외부 파일 mynewfile.txt -추가

추가된 텍스트는 메모장에서 열면 다음과 같습니다.

1 0 2 3 8 9, 1, A B C, P 2

대신에

102389,1,ABC,P2

모든 문자 사이에는 공백이 있습니다. .csv의 이름을 .txt로 바꾸는 것만으로는 도움이 되지 않았습니다.

답변1

사용해 보세요콘텐츠 추가cmdlet:

Add-Content cmdlet은 지정된 항목이나 파일에 콘텐츠를 추가합니다. 명령에 내용을 입력하거나 내용이 포함된 개체를 지정하여 내용을 지정할 수 있습니다.

Get-Content -Path myfile1.csv | Select-object -skip 1 | Add-Content mynewfile.txt

답변2

PowerShell 5.1에서 기본 인코딩은 다음과 Out-File같습니다.유니코드(UTF16-LE), 반면 PowerShell 7.x에서는 기본 인코딩은 다음과 같습니다.utf8NoBOM.
분명히 입력 파일은 ASCII 또는 UTF-8과 같이 다르게 인코딩됩니다. 여기에 UTF16-LE 텍스트를 추가하면 결과는 다음과 같습니다.

Out-File에는 매개변수가 있으므로 대신 을 사용하여 OR을 -Encoding추가하여 코드를 수정할 수 있습니다 .-Encoding defaultAdd-ContentOut-File

인코딩은 Default시스템의 활성 코드 페이지(보통 ANSI)에 해당하는 인코딩입니다.
Add-Content에도 매개변수가 있습니다 -Encoding. PowerShell 5.1에서는 기본값이 Default. PowerShell 7.x에서 기본 인코딩은 utf8NoBOM.

관련 정보