티스토리 뷰

대량 데이터 작업을 위해서 파일 리스트를 텍스트 파일로 저장해서 받아내렸는데, 

이게 AIX 에서 생성하고 내리다보니 기본 인코딩이 ANSI 로 설정되어 파일이 만들어 졌다.


해당 파일을 사용하는 프로그램이 UTF8 파일만 읽어들일 수 있어 변환이 필요한 상황.

메모장등을 활용해서 UTF8 로 Save As 하면 되긴 하는데...

파일이 큰데다 갯수까지 많아서 자동화 할 수 있는 방법을 찾아봤다.


윈도우10 에서는 기본적으로 PowerShell 이 내장되어 있으니 이를 이용하기로 하고 찾아봤더니 다음과 같이 신박한 방법으로 간단하게 인코딩을 바꿀 수 있었다.


Get-Content 기존파일경로 | Set-Content -Encoding utf8 새로저장할 파일경로


예를 들어 C:\TEMP\ansifile.txt 라는 파일을 UTF8 인코딩으로 바꿔서 저장하고 싶다면.


Get-Content C:\TEMP\myfile.txt| Set-Content -Encoding utf8 C:\TEMP\UTF8\myfile_utf8.txt


와 같은 명령어를 이용하면 변경된 인코딩이 적용되어 파일이 생성되게 된다.


다수의 파일을 변경해야 한다면 AcroEdit 등의 텍스트 편집기의 블록편집기능을 이용하면 손쉽게 일괄로 변경이 가능하다.


참고로 PowerShell 에서는 일반 커맨드창의 BAT 파일을 실행할 수가 없기 때문에

여러 파일을 변환하는 스크립트를 PowerShell 파일로 저장해 둔 다음

커맨드창에서 아래와 같은 명령어를 통해서 실행시키는 방법도 있다.


Powershell.exe -noprofile -executionpolicy bypass -file "C:\TEMP\execute_convert.ps1"


execute_convert.ps1 파일의 내용은 다음과 같이 작성할 수 있다.


Get-Content .\cims03.txt | Set-Content -Encoding utf8 .\cims03_utf8.txt

Get-Content .\cims04.txt | Set-Content -Encoding utf8 .\cims04_utf8.txt

Get-Content .\cims05.txt | Set-Content -Encoding utf8 .\cims05_utf8.txt

Get-Content .\cims06.txt | Set-Content -Encoding utf8 .\cims06_utf8.txt

Get-Content .\cims07.txt | Set-Content -Encoding utf8 .\cims07_utf8.txt

Get-Content .\cims08.txt | Set-Content -Encoding utf8 .\cims08_utf8.txt

Get-Content .\cims09.txt | Set-Content -Encoding utf8 .\cims09_utf8.txt

Get-Content .\cims10.txt | Set-Content -Encoding utf8 .\cims10_utf8.txt

Get-Content .\cims11.txt | Set-Content -Encoding utf8 .\cims11_utf8.txt

Get-Content .\cims12.txt | Set-Content -Encoding utf8 .\cims12_utf8.txt

Get-Content .\cims13.txt | Set-Content -Encoding utf8 .\cims13_utf8.txt

Get-Content .\cims14.txt | Set-Content -Encoding utf8 .\cims14_utf8.txt

Get-Content .\cims15.txt | Set-Content -Encoding utf8 .\cims15_utf8.txt

Get-Content .\cims16.txt | Set-Content -Encoding utf8 .\cims16_utf8.txt

Get-Content .\cims17.txt | Set-Content -Encoding utf8 .\cims17_utf8.txt

Get-Content .\cims18.txt | Set-Content -Encoding utf8 .\cims18_utf8.txt

Get-Content .\cims19.txt | Set-Content -Encoding utf8 .\cims19_utf8.txt

Get-Content .\cims20.txt | Set-Content -Encoding utf8 .\cims20_utf8.txt

.... 생략....


댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
«   2024/03   »
1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
31
글 보관함