도스 배치 스크립트를 이용하면 반복적으로 처리해야하는 하위 폴더들의 작업들을 자동화 할 수 있습니다.
압축 프로그램은 커맨드 라인 실행이 가능한 7zip을 사용합니다.
오픈소스 압축 프로그램이고 상업적인 용도로도 사용할 수 있습니다.
7zip이 없으면 먼저 7zip을 다운로드 받아 설치합니다.
https://www.7-zip.org/
7-Zip
7-Zip 7-Zip is a file archiver with a high compression ratio. Download 7-Zip 19.00 (2019-02-21) for Windows: Link Type Windows Size Download .exe 32-bit x86 1.2 MB Download .exe 64-bit x64 1.4 MB Download 7-Zip 21.02 alpha (2021-05-06) for Windows: Link Ty
www.7-zip.org
배치 스크립트 완성본은 다음과 같습니다.
"bat" 확장자를 가지는 텍스트 파일로 저장하면 됩니다.
@echo off
cd c:\_data\workfolder
set sub_folder_list="sub1" "sub2" "sub3"
for %%f in (%sub_folder_list%) do (
cd %%f
del *.zip
7z a -tzip %%f.zip *.jpg *.gif
cd ..
echo %%f
echo ----------------------------------------
)
몇 줄 안되는 배치 스크립트지만, 여러 개의 하위 폴더 안에 있는 파일들을 압축해서 압축 파일을 반복적으로 생성해줍니다.
도스 배치 스크립트는 정해진 문법대로만 사용해야 하기 때문에 띄어쓰기를 잘 못해도 정상적으로 실행되지 않을 수 있습니다. 주의해야 합니다.
하나씩 설명합니다.
1. 메시지 출력을 끕니다.
@echo off
2. 작업할 하위 폴더들이 있는 부모 폴더 위치로 이동합니다.
현재 배치파일이 실행되는 폴더를 기준으로 실행하도록 하려면 이 행은 삭제하면 됩니다.
cd c:\_data\workfolder
3. 폴더 안의 파일들을 압축해서 압축 파일을 생성할 하위 폴더 목록을 작성합니다.
"sub_folder_list" 는 폴더 목록을 가지고 있는 변수가 됩니다. set은 변수를 선언하는 선언자입니다.
"sub_folder_list"와 하위 폴더 목록 사이의 "=" 앞뒤에는 공백이 없어야 합니다. 주의해야 합니다.
하위 폴더는 쌍따옴표("")감싸서 표시하고, 하위 폴더 이름 사이는 공백으로 띄웁니다.
set sub_folder_list="sub1" "sub2" "sub3"
4. "for" 루프문으로 "sub_folder_list" 배열 변수의 하위 폴더 이름을 하나씩 가져와 파일을 압축합니다.
for 루프에서 "%%f"는 "sub_folder_list" 변수 배열에 있는 하위 폴더 이름 하나를 가져와 저장하는 루프 안의 로컬 변수입니다.
"for" 루프 안의 모든 실행은 "%%f" 에 담긴 하위 폴더 이름을 사용해서 처리합니다.
for %%f in (%sub_folder_list%) do (
)
5. 하위 폴더로 이동합니다.
cd %%f
6. 하위 폴더에 이미 zip 파일이 있으면 삭제합니다.
del *.zip
7. 7zip 커맨드 실행 기능으로 하위 폴더 안의 "jpg", "gif" 이미지 파일들을 "하위폴더명.zip" 파일로 압축합니다.
"-tzip"은 대상이 "zip" 압축 파일이라는 옵션 파라메터 입니다.
7z a -tzip %%f.zip *.jpg *.gif
8. 다음 하위 폴더 처리를 위해서 상위 폴더로 이동합니다.
cd ..
현재 압축 파일을 만든 하위폴더 이름을 출력해서 어떤 하위 폴더가 처리되었는지 표시를 합니다.
echo %%f
echo ----------------------------------------
간단하지만 이렇게 배치 파일을 만들면 for 루프문을 돌면서 하위 폴더들 안에 있는 파일들을 압축해서 압축 파일을 생성하는 반복 작업을 수행할 수 있습니다.
'테크팁·활용' 카테고리의 다른 글
구글 크롬 웹 브라우저를 향상된 보안모드로 사용하기 (0) | 2021.07.30 |
---|---|
유튜브 노래 MP3로 다운로드 받아서 듣기. 4K YouTube to MP3 다운로드 앱 사용기. (0) | 2021.07.26 |
네이버TV 동영상 다운로드까지 가능한 동영상 다운로더 4K Video Downloader. 유튜브 4K 다운로드까지 지원. (2) | 2021.06.17 |
"mailto:" 이메일 주소 하이퍼링크를 구글 지메일(GMail)로 연결하기. 웹 브라우저를 기본 이메일 핸들러로 등록하는 방법. (0) | 2021.06.15 |
도스 배치 스크립트로 하위 폴더 압축을 반복 처리하기 (0) | 2021.06.05 |
마이크로SD 카드로 스마트폰 용량 확장 후기. 삼성 에보 플러스 256GB 마이크로SD 카드. (0) | 2021.06.05 |
트레이에서 실행되는 윈도우용 시스템 리소스 모니터 프로그램 XMeter (0) | 2021.05.27 |
구글 크롬 확장 프로그램을 단축키로 호출해서 사용하기 (2) | 2021.05.26 |
크롬 90에 추가된 쓸만한 새로운 기능 두 가지. 탭 목록 보기와 텍스트 영역 링크 기능. (0) | 2021.05.25 |
Comments