특정 txt 문서 내의 특정 내용을 일괄 변경하기

컴퓨터 2006. 10. 13. 13:54

회사 업무 때문에 찾아서 만들었다.




컴맹에게 어느 폴더 안의 어떤 문서를 열어서 무슨 문구를 어떻게 어떻게 바꿔 저장하라...
이런 식으로 일일이 설명하기 힘들 때 이 방법을 쓰면 된다.
(사실 1명만 해도 되는 거면 쓸모없고 수백명에게 동일한 작업을 해야 할 때 유용하다.)

위 파일은 테스트로 만든 것으로 c:\temp 폴더에 2개 모두 저장하여
AutoIt 을 설치하고 renew.au3 을 실행하면 된다.
renew.au3 을 comfile 하면 exe로 변환되어 AutoIt 을 설치 안 하고도 실행 가능하다.

위 파일을 실행하면 test.txt 문서 내의 "before" 라는 문구가 모두 "after"로 바뀐다.

다음은 renew.au3 파일 내용

#include <File.au3>

$find = "Before"
$replace = "After"

$filename = "C:\temp\test.txt"

$retval = _ReplaceStringInFile($filename,$find,$replace)

msgbox(0, "완료", "변경되었습니다.")

exit

대충만 훓어봐도 어떻게 하는 건지 알 수 있다. (대소문자는 구분 안 하는군.)

Autohotkey 를 주로 썼는데 거기에는 script replace 기능이 없는 듯 하여-못 찾겠다.-
AutoIt 으로 했다. 유명하기는 이 AutoIt 이 더 유명한 듯 하다.



: