PC · IT · DB/PC

[PowerShell] 여러 개의 텍스트 파일 (.txt) 혹은 설정 파일 (.ini) 일괄 수정하는 방법

뿌레도 2023. 11. 23. 23:36
728x90
[PowerShell] 여러 개의 텍스트 파일 (.txt) 혹은 설정 파일 (.ini) 일괄 수정하는 방법

 

 

 텍스트 파일(.txt) 및 설정 파일(.ini)은 우리가 많이 사용하는 문서 형식 중 하나이다. 가끔 여러 개의 파일에 있는 동일한 내용을 한꺼번에 수정하고 싶을 때가 있는데, 이런 경우 일일이 파일을 열어 수정하는 것은 매우 귀찮은 작업일 것이다. 다행히도 Windows의 PowerShell을 사용하면 이러한 작업을 한 번에 처리할 수 있다!!!

 PowerShell을 사용하여 여러 개의 파일을 일괄 수정하는 방법은 간단하다. 먼저 수정하고자 하는 파일들이 있는 디렉토리를 적고 수정하고자 하는 글자와 변경될 글자를 지정한다. 이후 반복문을 사용하여 디렉토리 내의 모든 파일의 내용을 수정하도록 적어주면 된다.

 

# txt 파일 일괄 변경 치환 수정 대체 편집 바꾸기 # ini 파일 일괄 변경 수정 대체 편집 바꾸기 #cmd txt 파일 일괄 변경 수정 변환 편집 바꾸기 #cmd PowerShell txt 파일 일괄 변경 수정 #cmd PowerShell txt 파일 일괄 치환

 

#cmd PowerShell txt 파일 일괄 수정 #cmd PowerShell txt 파일 일괄 대체 #cmd PowerShell txt 파일 일괄 변환 #cmd PowerShell txt 파일 일괄 편집 #cmd PowerShell txt 파일 일괄 바꾸기

$directory: 변경할 파일들이 있는 디렉토리

$old_text: 수정하고자 하는 글자

$new_text: 원하는 글자

 

-Filter "*.txt": 부분은 확장자 .txt이며 ini를 원하면 "*.ini"로 변경하면 된다.

 

파일을 .ps1 확장자로 저장한 뒤 실행하거나 powershell에 바로 입력하면 된다.

 

Change_All_Char.zip
0.00MB

 

$directory = "C:\trivia-korea"
$old_text = "myrealpath"
$new_text = "mynewpath"

Get-ChildItem -Path $directory -Filter "*.txt" | ForEach-Object {
    $filepath = $_.FullName
    
    $content = Get-Content -Path $filepath -Raw
    $modified_content = $content -replace $old_text, $new_text
    
    $modified_content | Set-Content -Path $filepath
}

 

300x250