-
[Powershell 예제] foreach, Where를 사용하여 파일 일괄 인코딩 변경Shell & CMD/PowerShell 2022. 7. 13. 09:08반응형
아래소스는 주소기반산업지원서비스 (juso.go.kr) 에서 제공하는 도로명주소 데이터 텍스트 파일의 인코딩정보를 EUC-KR에서 UTF-8로 일괄 변환하는 스크립트이다.
$directory = [System.IO.DirectoryInfo]::new(".") $files = $directory.GetFiles().Where{ $_.Name -ne "converter.ps1" } # 해당 스크립트파일인 converter.ps1는 인코딩작업에서 제외 # Get-ItemProperty $files foreach ($file in $files) { <# $file is the current item #> # Get-ItemProperty $file $outPath = Join-Path "converted" $file.Name #converted 폴더 실행위치 하위에 사전생성필요. Get-Content $file -Encoding "EUC-KR" | Set-Content $outPath -Encoding "UTF8" }
다운로드 (juso.go.kr) 에서 공개주소 파일을 다운로드 후, 압축해제 하여 해당 스크립트를 converter.ps1 으로 해제한 디렉토리에 저장시킨뒤 실행하면 된다.
[실행 전 원본파일]
[실행 후 변경파일]
반응형'Shell & CMD > PowerShell' 카테고리의 다른 글
[PowerShell 예제] Start-ThreadJob을 이용한 동시 처리 스크립트 구현 (0) 2022.07.30 [PowerShell] 파워셸에서 한글 파일명 깨지지 않게 압축 풀기 (0) 2022.07.30 [Powershell] Oh My Posh 설치 (0) 2022.01.31 [PowerShell 기초] 7. 실행 권한 설정(ExecutionPolicy) (0) 2022.01.03 [PowerShell 기초] 6. Powershell 프로필 설정 (0) 2021.12.26