본문 바로가기

IT/윈도우 Windows

윈도우 배치파일로 여러 사진 한번에 크기 줄이기

반응형

블로그에 글을 작성하다 보면 인터넷에 사진을 올려야 할 일이 많이 생깁니다.

촬영한 사진을 그대로 올려도 당장 큰 문제는 없지만, 방문자가 스마트폰으로 보는 경우 쓸데없이 많은 데이터를 사용하게 될 수 도 있기 때문에 가능하면 사진 크기를 줄여서 올리려고 하고 있습니다. (특히 요즈음의 스마트폰은 고화질 카메라를 장착하고 있어서 사진의 해상도가 상당히 높습니다)

 

저는 지금까지 블로그에 올릴 사진을 윈도우 그림판을 이용해 하나하나 크기를 줄인 뒤에 올리곤 했었는데요, 더 쉬운 방법 (최대한 윈도우 자체 기능만을 이용하여) 이 없을지 찾아보다가 알게 된 방법을 공유해 봅니다.

 

두 개의 윈도우 배치 파일 (첨부 파일)을 받아서 실행시키기만 하면 특정 디렉토리에 있는 모든 사진 (*. jpg)을 한꺼번에 사이즈를 줄일 수 있는데요, (설치 필요 없이 원하는 위치에 저장 후 사용) 

scaler.bat 파일의 내용은 사용하시는 분의 환경에 맞게 수정해서 쓰면 됩니다.

 

먼저 scale.bat 파일은 -source 파라메터의 파일을 -target 파라미터로 리사이즈하여 저장하는 배치 프로그램입니다. 

-max-height, -max-width 파라메터로파라미터로 리사이즈 크기를 지정하고 -keep-ratio 파라미터로 가로세로 비율 유지 여부도 설정할 수 있고요.

scale.bat
0.01MB

 

다음 두 번째 파일 (scaler.bat) 파일은 위의 scale.bat 파일을 호출해서 특정 디렉토리의 이미지 파일을 한 번에 리사이징 하는 역할을 합니다.

scaler.bat
0.00MB

 

scaler.bat파일의 내용은 아래와 같은데요,

 

1
2
3
4
5
6
7
8
9
10
11
12
@echo off
set "source_folder=D:\temp\input"
set "result_folder_1=D:\temp\output"
rem set "result_folder_2=D:\temp\output2"
 
for %%a in ("%source_folder%\*jpg"do (
   call scale.bat -source "%%~fa" -target "%result_folder_1%\%%~nxa" -max-height 768 -max-width 1024 -keep-ratio yes -force yes
)
 
rem for %%a in ("%source_folder%\*jpg"do (
rem    call scale.bat -source "%%~fa" -target "%result_folder_2%\%%~nxa" -max-height 125 -max-width 125 -keep-ratio no -force yes
rem )
 
cs

 

여기서 source_folder의 위치는 원본 jpg 파일들이 들어가 있는 위치를, result_folder의 위치는 리사이징된 파일들이 들어갈 위치를 지정해 줍니다.

원본 배치는 하나의 원본 파일을 2개의 다른 크기의 파일로 리사이징하게 되어 있는데 두 번째 리사이징은 저에게 필요 없어서 rem으로 주석처리 해 놓았습니다.

썸네일 등의 용도로 두 가지 사이즈의 파일이 필요한 경우 rem을 삭제하고 원하는 옵션으로 수정한 다음 사용하면 됩니다.

반응형