유틸리티 특정경로아래 화일들의 내용을 다바꿔 주는 ★ SnStar 다바쿠 1.0 공개합니다.
2015.12.23 02:46
출처: https://starbros.blog.me/220576209842
사용방법은 아래와 같이 어떤 경로아래의 화일들을 검색할 것인지 지정하시고
대소문자를 구별하실것인지 결정하시고,
찾을 문구를 입력하시고,
바꿀 문구를 입력하시고,
확장자를 .을 포함해서 여러개 입력하실 수 있습니다.
그러면 변경처리 완료후 결과를 result.log 화일로 상세히 확인 하실 수 있습니다.
다만, 지정한 폴더 아래의 변경대상이 되는 문서들은 모두 ANSI인코딩으로
작성되어 있어야 합니다. 이점에 주의하지 않으면, 예를들어 utf-8로 인코딩된
문서들이 변환후 ANSI로 변경되기 때문에 한글이 포함된 문서는 알수없는
문자로 깨져버리게 됩니다.
참고로, vbs로 만들어진 화일은 시스템 보안설정때문에
다운로드가 제한되거나 백신프로그램에서 바이러스로 진단되는 경우가 많습니다.
하지만, 개발자인 제가 장담하는데 절대 악성코드나 바이러스가 내포되지 않은 화일입니다.
이곳에서도 수천명이 다운받아서 잘쓰고 있으니 안심하시고 다운받으세요.
댓글 [6]
-
무정 2015.12.23 17:06 -
Star★Bros 2015.12.23 18:54
vbs스크립트는 ANSI와 UTF-16만을 지원하기에 어쩔수가 없네요.
애석하게도 다른 인코딩을 지원할 방법이 없습니다. ミ:つÞ
-
메리아 2015.12.23 22:37 -
-
Star★Bros 2015.12.23 23:20
말씀처럼 ADDO.stream을 이용하는 방법이 있으나, 윈도우10에서 사전에 activex 플러그인 설치가 필요한 문제에 당착하게 되고,
물론 이런방법 말고도 utf-8이나 ansi 인코딩 자체를 구분해서 읽기까지는 얼마든지 가능합니다.
하지만, utf-8을 읽어서 화일을 저장(쓰기)하는 순간 ANSi로 저장됩니다.
만약 화일을 사전에 Ansi 로 변환하던가 utf-8로 저장하면 되지않느냐? 없습니다.
위에 vc++ 링크에서도 결론은 없다고 나와있습니다.
문제는 원본의 인코딩 방식을 정확하게 알 수 없다는 점인데 논리적으로 이 문제를 해결할 수 있는 방법이 전혀 없다. 결국 영문으로만 된 문서는 사용자가 인코딩 방식을 직접 지정하여 저장해야 한다.
이건 Wscript 언어자체가 MS에서 오로지 Ansi와 utf-16을 default로만 지원하고,컨버터또한 외부쉘 명령을 통해서나 외부 실행화일의 도움을 받을 수 밖에 없습니다.
만약 그렇게 구성하게 한다면, 폴더내에 화일하나정도는 무난히 사용하기에 무리가 없어보이지만,
여러개라면 얘기가 전혀 달라집니다. 단어 몇개 치환하려고 언제 끝나려나 한참 기둘려야 하는 상황에 직면하게 되는거죠
그것도 처리과정중에 어느하나라도 오류가없어야하고 호환성도 좋아야하고, 암튼 배보다 배꼽이 더 커지는 상황에 직면하죠.
차라리 뛰어난 회사에서 만들어놓은 전문 프로그램들을 사용하시는게 낫겠죠.
MS에서 그들만의 좋은 스크립트언어를 만들어 놓고도 스스로 악성코드의 원천도구라고 결과물에 차단딱지를 붙이고 악성코드라 단정합니다.
그럴려면 왜 이걸 삭제하지도 않고 환경을 만들어 놓는건지.. 참 아이러니하죠.
ミ:つÞ
-
메리아 2015.12.24 10:16 -
-
Star★Bros 2015.12.24 21:28
windwos host script 즉 wscript와 일반적인 vbs와는 상당한 차이가 있습니다.
위에서 실행하신부분은 인위적으로 utf라고 확실한 가정하에 읽고 쓰기를 한것인데,
문제는 대상 화일이 ansi인지 utf-8인지 구분해낼 방안이 없다는 겁니다.
그리고, 찾을 대상 단어와 대체할 단어를 Ansi로 바꿔주거나, utf-8로 변환하는 방법 또한 없습니다.
아시다시피 인코딩에는 상당한 종류가 있는데, 그런 경우를 모두 감안해서 인코딩 변환할 방안이 없습니다.
메리아 님이 정말 안될것이 뭐가 있냐라는 생각이라면
간단히 예를들어 "대한민국"이라는 단어를 각각 다르게 다양한 인코딩으로 저장되어 있는 파일들을 만든후
"한"이라는 글자만 원래 인코딩에 맞는 내용으로 변환해서 저장시키는 예를 보여줘 보세요.
wscript에게 "한"이라는 글자를 다양한 인코딩으로 저장되어 있는 화일에서 찾기부터 어려움에 봉착하게 됩니다.
방법이 있다면 외부에 있는 인코딩변환기 유틸? 뭐 그런걸 설치해서 실행시켜야 하는데,
이건 자신이 만든 프로그램이 아닌이상 각기다른 컴퓨터환경에 강제설치한다해도 다른 설치경로와 64비트 32비트환경 등
강제로 이런 프로그램을 실행시켜야 하는 문제가 발생합니다.
사용자가 바꾸기를 원하는 단어를 입력할때마다 따로 저장해서 외부프로그램으로 맞는 인코딩으로 변환시켜야 하구요.
이쯤되면, 복수화일의 내용을 치환해주는 좋은 유틸리티들을 찾아서 설치하는게 훨씬 좋은 방법이란 걸 깨닫게 될겁니다.
ANSI 만 된다는 메세지가 보이는군요.
요즘엔 ANSI 로만 저장하면 제대로 안보이는경우도 많던데 개선해야할 사항 같습니다.