기타 자막파일 이름 일괄변환기
2013.12.03 03:37
나디아 BD립 보려다가 영상이랑 자막 파일 이름 맞추는게 귀찮아서 만들어봤다.
이미 훌륭한 일괄변환 소프트웨어가 많지만 그조차도 셋팅하기 귀찮은 사람들만 쓰면 될듯
예제
영상 파일들과 자막 파일들의 이름이 다르다.
같은 폴더에 renamer.exe를 넣고 실행하면...
모두 변경됐다. 참 쉽죠잉?
발로 만들었기 때문에 제약사항이 굉장히 많은데...
0. Windows만 지원. DOS 커널 기반의 OS(XP 이전)에서도 정상 작동 안됨.
1. 영상은 avi, mp4, mkv, wmv 확장자만 지원하고, 자막은 smi, srt, ass 확장자만 지원.
2. 확장자가 일치해야 한다. 예를들어 1~5화는 avi인데 6화는 mkv, 10~20화는 mp4 이럼 안 된다. 자막 파일도 마찬가지.
3. 본 영상, 본 자막 외에 쓰잘데기 없는 영상이나 자막 파일이 같은 폴더에 껴있으면 안 된다. 그런 것들은 다른 폴더에 격리해놓자.
4. 영상 파일과 자막 파일이 같은 개수 존재해야한다. 영상은 24개인데 자막은 23개... 이런 거 용납 못해!
5. 영상이든 자막이든 화수 표기가 반드시 01, 02 ... 또는 001화, 002화 ... 0을 통한 자릿수 맞춤이 되어 있어야 한다. 1 2 3 요러면 작동 안함.
6. 파일 이름 앞부분도 반드시 일정해야 한다. 1화는 [zero-raws], 2화는 [leopard-raws], 10화는 신비로_ 뭐 이러면 안 됨.
하지만 ふしぎの海のナディア 第04話 「万能潜水艦ノーチラス号」, ふしぎの海のナディア 第08話 「ナディア救出作戦」 처럼 부제목이나 뒷부분 표기는 달라도 상관 없다.
7. 거의 없겠지만 256편 이상의 영상은 지원 안함.
본래 제약이 전혀 없는 훌륭한 프로그램을 만들자는 취지였으나 아무리 생각해도 시간낭비라 걍 대충 만들었다.
내 컴퓨터 외엔 안돌려봐서 니들 컴에서 정상 작동할지 보장도 못함. 버그 제보받아도 안 고칠거.
그냥 쓰지마라.
#include <Windows.h>
#include <algorithm>
using namespace std;
int main()
{
WIN32_FIND_DATA find_data;
HANDLE hFind;
wstring extension[4] = {L"*.avi", L"*.mp4", L"*.mkv", L"*.wmv"};
wstring subex[3] = {L".smi", L".srt", L".ass"};
wstring files[256], subs[256];
int file_cnt = 0, sub_cnt = 0;
for(int i=0; i<4; ++i)
{
if((hFind = FindFirstFile(extension[i].c_str(), &find_data)) != INVALID_HANDLE_VALUE)
{
files[file_cnt++] = find_data.cFileName;
while(FindNextFile(hFind, &find_data))
files[file_cnt++] = find_data.cFileName;
break;
}
}
FindClose(hFind);
sort(&files[0], &files[file_cnt-1]);
int subtype = 0;
for(; subtype<3; ++subtype)
{
wstring temp = L"*" + subex[subtype];
if((hFind = FindFirstFile(temp.c_str(), &find_data)) != INVALID_HANDLE_VALUE)
{
subs[sub_cnt++] = find_data.cFileName;
while(FindNextFile(hFind, &find_data))
subs[sub_cnt++] = find_data.cFileName;
break;
}
}
FindClose(hFind);
sort(&subs[0], &subs[file_cnt-1]);
for(int i=0; i<file_cnt; ++i)
{
wstring temp = files[i].substr(0, files[i].rfind('.')) + subex[subtype];
MoveFile(subs[i].c_str(), temp.c_str());
}
return 0;
}
완벽한 오픈 쏘-쓰이므로 전산학 관련 학부생 나갈러가 있다면 이거 개조해서 과제로 제출해도 좋습니다. ^오^
댓글 15
-
여랑
2013.12.03 07:33
오쩐다 이거개귀찮았는데 -
앱씨
2013.12.03 09:00
존나 쩐다 -
엔이
2013.12.03 09:34
ㅁㅊㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋ -
터메릭
2013.12.03 09:58
와 이거 ㅈㄴ편하겠다 ㅋㅋㅋㅋ ㄳ 나중에 BD 받으면 써먹어야지
-
수은중독
2013.12.03 12:07
자막을 안보면 되지
-
Libra
2013.12.03 12:34
캬 없으면 만들어 쓰는 전산 클라슼ㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋ
-
사람사는곳
2013.12.03 13:26
혹시 짤방명 일괄 수정하기 같은건 어찌하는지 아시는분?ㅎ
-
사람사는곳
2013.12.03 15:04
오 ㄳㄳ
-
Libra
2013.12.03 14:59
기본적으로 파일이름 일괄 수정은 Darknamer를 쓰고
이미지 포맷이나 크기 일괄변환은 옛날엔 알씨 썼고 요즘엔 그냥 포토샵으로 함 이스트소프트는 절대 설치하지 말자가 모토라...
-
Twolf
2013.12.03 15:31
오 시발 능력자 클라스 ㄷㄷ해 굿 -
오보에
2013.12.03 16:48
와아 시발 능력자 쩌네. 감사감사.
-
단애
2013.12.03 19:49
개멋있다ㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㄳㄳ -
나무연못
2013.12.03 21:25
와 존나 굿굿ㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋ
-
간길
2013.12.14 14:30
ㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋ 쩐다
-
사쿠라미쿠
2013.12.29 23:31
햐 필요했는데 ㅋㅋㅋ 잘쓰겠습니다
번호 | 제목 | 글쓴이 | 날짜 | 조회 수 |
---|---|---|---|---|
공지 | 창작게시판 사용안내 [12] | 하레 | 2011.04.26 | 14473 |
555 | Our Cadence [4] | 라프리 | 2013.12.27 | 1142 |
554 | 간만에 낙서한거 올리고 감 [6] | 에르밋치 | 2013.12.27 | 1037 |
553 | Take Me (Lafree Arrangement) [4] | 라프리 | 2013.12.19 | 963 |
552 | 붙잡힌 히로인 [1] | 리카아메 | 2013.12.18 | 1000 |
551 | 하다보면 늘긴 느는것 같다 [6] | 단애 | 2013.12.16 | 928 |
550 | 작심삼일 - 까르보나라 [5] | Libra | 2013.12.04 | 1514 |
549 | 작심이일 - 닭볶음 [9] | Libra | 2013.12.03 | 1297 |
» | 자막파일 이름 일괄변환기 [15] | 뀨뀨함폭 | 2013.12.03 | 1528 |
547 | 작심일일 - 샌드위치 [5] | Libra | 2013.12.02 | 1102 |
546 | 격차 | 리카아메 | 2013.11.27 | 810 |
545 | 맹꽁이서당 그림 [5] | 리카아메 | 2013.11.27 | 1111 |
544 | 낚서 [2] | 리카아메 | 2013.11.26 | 858 |
543 | 매우 아방가르드한 복장의 그녀 [1] | 리카아메 | 2013.11.26 | 848 |
542 | 가슴이 제일 착한 프리큐어 [5] | 리카아메 | 2013.11.26 | 1030 |
541 | 오랜만에 15금 그림 [3] | 리카아메 | 2013.11.26 | 781 |
540 | 중2병이라도 사랑이 하고 싶어 극장판 한글화 [5] | b_y_s_l | 2013.11.18 | 1253 |
539 | 이번주 경계의저편 위화감이 너무 심해서 바꿔봤습니다 [8] | 단애 | 2013.11.07 | 1097 |
538 | 면만 바꿔봤는데 [2] | 갓마미갓루카 | 2013.11.04 | 994 |
537 | 그동안 그린거 [6] | 간길 | 2013.11.04 | 1002 |
536 | 사천짜장 [5] | Libra | 2013.10.24 | 1133 |