윈 도 우 배치파일에서 특수문자 폴더로 접근 가능한가요?
2020.02.19 10:24
인코딩(ANSI/UTF-8)/코드페이지(CP949)/CMD 에서 CHCP 65001 명령어
등의 개념은 알고 있습니다.
한글 윈도우의 코드페이지에서는 러시아 글자
Ђ (U+0402)
는 지원되지 않습니다.
질문) 전제가 C:\ABC 폴더에 test.CMD 파일과 C:\ABC\Ђ 폴더가 있는 상황입니다.
다시 말해 아래 탐색기의 스샷같은 상황입니다.
이제 CMD 창에서 C:\ABC 폴더에 위치해 있을 때 test.CMD 를 실행했을 때
다시 말해 위와 같은 상황에서 앤터를 쳤을 때 그 결과가
하위 폴더엔 C:\ABC\Ђ 로 이동한 것, 즉
위와 같은 상황이 되게끔
test,CMD 파일을 작성할 수 있을까요?
댓글 [4]
-
구르는 돌 2020.02.19 11:19
-
구르는 돌 2020.02.19 11:53
Win 8.1환경에서는 CodePage를 65001로 변경한 다음 명령어를 실행시키면 오류가 발생합니다.
그래서 해결책을 모색하여 보았읍니다.
CMD창에서 다시 'cmd /U' 명령어를 실행합니다. 그러면 CodePage는 여전히 949이면서 명령어 처리는 UTF-8로 할 수 있읍니다.
그래서 이 상태에서 UTF-8로 작성된 CMD파일을 실행시키면 님이 원하시는 폴더이동을 할 수 있읍니다.
추가 : CMD 창을 열때 /U옵션을 주어 UTF-8 상태로 처음부터 열리면 한결 작업이 쉬울텐데 처음 열때는 /U옵션이 먹히지 않는군요.
원상태로 되돌리고자 할 때는 /A 옵션을 주어 cmd /A 로 실행시키면 ANSI상태로 되돌아 옵니다.
-
시간이필요해 2020.02.19 11:40
한글사랑
-
ton3d 2020.02.19 16:14
2곱하기 2 해서 4가지 경우를 시도해보았습니다.
win7 / win10 - 2 가지
CHCP 65001 / cmd /U -2 가지
test.CMD 는 4가지 경우 모두 cd Ђ 를 UTF-8 without BOM 으로 저장
이 4가지 중에서 win10 일 때 chcp 65001 먹여놓고 시작하는 경우만 잘 되고 나머지 세 경우는 안 되네요
CHCP 65001 / cmd /U 는 test.CMD 에 포함시킨 것이 아니라 일단 이걸 먹여놓고나서 test.CMD 를 실행하는 식으로 진행했습니다.
Windows 10환경이라 가정하겠읍니다.
1) 첫째로 CMD 파일을 작성하고서 저장할 때 인코딩을 'UTF-8 서명없음'으로 저장합니다.
2) CMD 창에서 UTF-8인코딩을 지원하는 코드페이지로 변경해야 합니다. UTF-8 CodePage 번호는 65001 입니다.
즉 'chcp 65001' 명령어를 실행합니다.
그냥 chcp 명령어를 실행시키면 CMD 창이 지원하는 현재 CodePage가 949로 나올것 입니다.
그래서 chcp 65001을 실행시키고나서 CodePage가 65001인지 확인해보시기 바랍니다.
3)UTF-8 인코딩으로 저장된 CMD파일을 실행시키면 됩니다.
추가로 CMD 파일은 러시아문자를 지원하는 TextEditor를 사용하여 작성하면 됩니다.
요즘 웬만한 TextEditor는 UTF-8 인코딩으로 저장할 수 있읍니다.
첨부된 폴더그림을 보면 Win 10 환경이 아닌 것 같읍니다.
그래서 Win 8.1 환경에서 점검해보니 여기에서는 무언가 오류가 나는군요.
다시한번 해결책을 확인해 보도록 합시다.