반응형
아래 포스팅에서 Find and Replace tool 에 대해 소개한 적이 있습니다.
폴더내의 텍스트들에 대해 찾기 바꾸기를 편리하게 할 수 있는 프로그램인데 코드 수저이 많이 사용하곤 합니다.
그런데 최근에 UTF8 파일에 대해 Find and Replace tool 을 적용하는 과정에서 약간의 문제가 있었습니다.
utf8 without BOM 으로 되어 있는 파일이었는데 Find and Replace tool 을 사용하여 파일을 변경하니 엉망으로 변하더군요.
다행히 백업 본이 있어서 복구 할 수 있었지만 백업본이 없었다면 정말 큰 문제가 발생할 번 했습니다.
utf8 without BOM 으로 된 파일들이 많아서 일일이 변경하기엔 문제가 있다는 생각이 들었고 그래서 Powershell 을 사용하여 자동으로 바꾸는 스크립트를 만들어 봤습니다.
코드는 다음과 같습니다.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
function save-UTF8withBOM($path) | |
{ | |
$b = Get-Content -Path $path | |
# utf 8 with BOM | |
$b | Set-Content -Encoding UTF8 -Path $path -Force | |
} | |
function save-UTF8withoutBOM($path) | |
{ | |
$b = Get-Content -Path $path | |
# utf 8 without BOM | |
[System.IO.File]::WriteAllLines($path, $b) | |
} |
save-UTF8withBOM
함수는 utf8 with BOM 파일로 만들어주는 함수이고
save-UTF8withoutBOM
함수는 utf8 without BOM 파일로 만들어주는 함수입니다.
argument 로 변경하고자 하는 파일의 path 를 넣어 주면 됩니다.
반응형
'programming language > powershell' 카테고리의 다른 글
Powershell 을 사용하여 레지스트리 값 변경하기 (0) | 2018.10.07 |
---|---|
Powershell 을 사용하여 COM(Component Object Model) 에서 사용가능한 함수 및 속성 알아내는 방법 (0) | 2018.05.07 |
Powershell 을 사용하여 낮은 해상도 드라마 지우기 (0) | 2018.04.30 |
Powershell 에서 C# 으로 만들어진 DLL 사용하기 (0) | 2017.12.28 |
Powershell v5.0 설치 (0) | 2017.02.19 |
Powershell 지난 주 이전의 파일 지우기 (0) | 2017.02.18 |
Powershell 사용하여 Symbolic link 를 만드는 방법 (0) | 2017.02.10 |
Powershell 에서 문자에 대한 ascii 값 확인 A~Z 리스트 구하기 (0) | 2016.10.18 |
댓글