윈도우 커맨드창(cmd)에서 폴더 압축하기

2012.11.22 21:50사용기/S/W

윈도우 명령창(Command 창)을 이용하여 내 컴퓨터에 있는 특정 폴더를 zip 파일로 묶는 방법입니다.

우선 command line 명령을 가진 7-Zip 을 설치합니다.

 

7-Zip 설치 http://www.7-zip.org/

 

폴더를 압축하는 방법은 간단합니다.

 

7z.exe a [zip 파일이름] [압축할 폴더]

 

7z.exe 는 7-zip 의 Command line 버전 실행파일입니다.

예를 들면 c:\test 라는 폴더를 압축해서 c:\my\test.zip 으로 만들려고 하면 아래와 같이 사용합니다.

 

"c:\program files\7-zip\7z.exe" a c:\my\test.zip c:\test\

  

명령어 

 의미

 "c:\program files\7-zip\7z.exe"

압축 명령어(7z.exe)

7-zip 프로그램이 설치된 full path  필요

 a

압축하기 명령어 인자 

 c:\my\test.zip

만들어 질 zip 파일 
c:\my 라는 폴더가 없을 경우 자동으로 생성한다.

 c:\test\

압축대상 폴더. (하위 폴더까지 모두 압축) 

 

자주 압축해서 보관해야 하는 폴더라면 생성된 날짜와 시간을 포함해서 저장하면, 해당 폴더의 히스토리를 기록하는데 아주 유용합니다.

자동화 하기 위해 Test.bat 파일을 아래와 같이 만듭니다.

set _my_datetime=%date%_%time%
set _my_datetime=%_my_datetime: =_%
set _my_datetime=%_my_datetime::=%
set _my_datetime=%_my_datetime:/=_%
set _my_datetime=%_my_datetime:.=_%

set fname="c:\my\test%_my_datetime%.zip"

"c:\program files\7-zip\7z.exe" a %fname% c:\test\

start explorer ""c:\my\"
pause

 

Batch 파일에서 날짜 만드는 건 좀 복잡하니 대충 참고만 하면 됩니다.

 

 

이제 batch 파일을 실행하면 위 그림처럼 test 라는 prefix 뒤에 오늘 날짜와 시간 정보를 포함해서 zip 파일로 만듭니다.

마지막 한 줄은

start explorer ""c:\my\"

윈도우 탐색기를 실행해서 c:\my 라는 폴더를 열어 파일을 확인하도록 해 줍니다.

 

파일이 제대로 저장됐는지 확인하기 위해 매번 폴더를 열 필요 없이 batch 를 실행하면 폴더를 열어 주는 식입니다.

 

형상관리 프로그램이 설치 되어 있지 않아 소스를 주기적으로 백업해야 하는 경우 등 활용은 각자의 몫입니다 ^^

  • 프로필사진
    BlogIcon dummy2012.11.23 09:12

    저는

    SET ZipCmd="C:\Program Files\7-Zip\7z.exe" a -tzip

    %ZipCmd% 파일명 경로

    이런식으로 사용합니다. 파일명만 zip으로 주면 zip 압축이 되는가요? 테스트 해봐야겠네요

    저는 -tzip 옵션을 줘야 하는거로 알고 있었거든요.

    ps. 테스트 해보니 옵션이 없어도 동일한 zip파일을 생성하네요