BATCH 파일 작성 / TEXT 파일에서 목록 불러와 명령 수행하기 / WINDOWS 명령창 / CMD / COMMAND LINE / CLI

정보/뉴스


스포츠정보


인기게시물


인기소모임


최근글


BATCH 파일 작성 / TEXT 파일에서 목록 불러와 명령 수행하기 / WINDOWS 명령창 / CMD / COMMAND L…

하늘보리 0 134
명령어 창을 열고
CD / D "원하는 드라이브:\폴더"
이렇게 입력해서 이동하신 후

DIR /B > A.TXT
이런 명령으로 폴더 내 모든 파일명이 들어가게 A.TXT 를
자동 작성합니다.

A.TXT 를 열어서 맨 마지막에 있는 A.TXT 라는 글자를 지웁니다.

for /f "tokens=*" %a in ('TYPE A.TXT') do ren "%a" "호호호 %a"

이렇게 작성한 명령어를 명령창에 붙여넣기 하면
어떤 파일명 앞에 "호호호 " 라는 글자가 자동 삽입됩니다.

붙여넣기 할 때는 for /f "tokens=*" %a in ('TYPE A.TXT') do ren "%a" "호호호 %a"
이지만 명령어.CMD 라는 파일로 만들 때는
for /f "tokens=*" %%a in ('TYPE A.TXT') do ren "%%a" "호호호 %%a"
이렇게 %%a 라고 써줘야 합니다.

X:\TEST> ren "파일명 1.JPG" "호호호 파일명 1.JPG"
X:\TEST> ren "파일명 2.JPG" "호호호 파일명 2.JPG"
X:\TEST> ren "파일명 3.JPG" "호호호 파일명 3.JPG"
X:\TEST> ren "파일명 4.JPG" "호호호 파일명 4.JPG"

A.TXT 파일명 대신
폴더명을 입력 후에
이렇게 입력하시면
A.TXT 에 적어둔 폴더명 수십 개~수 백개가 자동 생성됩니다.

for /f "tokens=*" %a in ('TYPE A.TXT') do MKDIR "%a"

TYPE 는 TEXT 파일을 출력하라는 뜻이고
위 for 문은 출력되는 각 줄 마다 a 라는 변수에 자동 입력되게 한 후 do 뒤에 나오는 명령을 수행하게 하는 겁니다.

A.TXT 에
"파일명1.TS"+"파일명2.TS"+"파일명3.TS"
이렇게 1줄 써놓고

for /f "tokens=*" %a in ('TYPE A.TXT') do copy /b "%a" RESULT.ts

이렇게 입력하면
파일명1.TS~파일명3.TS 가 합쳐져서 RESULT.TS 라는 파일이 생성됩니다.

COPY /B 명령은 TEXT 파일이 아니라 BINARY 파일을 합치라는 명령입니다.

"파일명1.TS"+"파일명2.TS"+"파일명3.TS"
이렇게 짧게 써주면 위 작업은 성공하는데
엄청나게 많은 파일을 써주면 COPY /B 명령이 아예 실행되지 않습니다.

수십 개~100 개 정도만 써 주세요.

이런 거 알아서 어디다 써 먹냐면?

위와 같이 type 명령과 for 을 통해서
귀찮은 일을 응용해서 처리할 수 있습니다.
더 자세한 batch 파일 공부를 하시려면 검색하면 나옵니다.

-------- 주 의 ------

파일과 폴더명에
빈 줄 또는 : * ? " < > | \

이런 기호를 쓸 수 없습니다.

파일명에 TAB 문자가 들어가는 것을 권하지 않습니다. 오류날 수 있음.

A.TXT 에
????????????????✨???? 이런 그림 문자나
한자가 들어가면 오류날 수 있습니다.
0 Comments

제목