Wget:DownloadImage
한 페이지 안의 전체 이미지를 다운로드 받는 배치파일 샘플.
@echo off
IF "%1" == "" (
ECHO Parameter error.
EXIT /B 1
)
SET SITE=%1
SET "WORKING=%CD%"
SET "TMPDIR=%WORKING%\tmp"
SET "IMGDIR=%WORKING%\img"
SET "MVSOURCE=%TMPDIR%\mv-list.bat"
SET TMPNUM=1
SET "WGET_FLAGS=-E -H -k -K -p"
IF NOT EXIST "%TMPDIR%" MKDIR "%TMPDIR%"
IF NOT EXIST "%IMGDIR%" MKDIR "%IMGDIR%"
CD "%TMPDIR%"
wget.exe %WGET_FLAGS% %SITE%
find.exe . -iname *.jpg -o -iname *.jpeg -o -iname *.png ^
| sed -e 's/^^\\(.*\\)\\(\\.jpg\\^|\\.jpeg\\^|\\.png\\)^$/mv \\1\\2 %%IMGDIR%%\\/%%TMPNUM%%\\2\\^&\\^&SET \\/A TMPNUM=TMPNUM+1/g' ^
> %MVSOURCE%
CALL %MVSOURCE%
CD "%IMGDIR%"
SET ARCHIVE_TYPE=zip
REM time.
SET BACKUP_DATE=%date:~0,4%%date:~5,2%%date:~8,2%
SET /A BACKUP_TIME_HOUR=%time:~0,2%
IF %BACKUP_TIME_HOUR%==0 SET BACKUP_TIME_HOUR=00
SET BACKUP_TIME=%BACKUP_TIME_HOUR%%time:~3,2%%time:~6,2%%time:~9,2%
SET BACKUP_NOW=%BACKUP_DATE%-%BACKUP_TIME%
IF "%2" == "" (
SET "OUTPUT_PATH=%WORKING%\image.%BACKUP_NOW%.%ARCHIVE_TYPE%"
) ELSE (
SET "OUTPUT_PATH=%2"
)
7za.exe a -t%ARCHIVE_TYPE% "%OUTPUT_PATH%" "*"
REM clear.
CD %WORKING%
rm.exe -rf image temp
ECHO END (%ERRORLEVEL%).
아래는 bash 스크립트 버전 이다.
#!/bin/sh
if [ ! -z $1 ]; then
SITE=$1
else
echo Parameter error.
exit 1
fi
WORKING=$PWD
TMPDIR=$WORKING/tmp
IMGDIR=$WORKING/img
MVSOURCE=$TMPDIR/mv-list.sh
TMPNUM=1
export IMGDIR
export TMPNUM
WGET_FLAGS="-E -H -k -K -p"
if [ ! -d $TMPDIR ]; then mkdir -p $TMPDIR; fi
if [ ! -d $IMGDIR ]; then mkdir -p $IMGDIR; fi
cd $TMPDIR
wget $WGET_FLAGS $SITE
find . -iname *.jpg -o -iname *.jpeg -o -iname *.png \
| sed -e 's/^\(.*\)\(\.jpg\|\.jpeg\|\.png\)$/mv \1\2 $IMGDIR\/$TMPNUM\2;TMPNUM=$\(\($TMPNUM+1\)\)/g' \
> $MVSOURCE
source $MVSOURCE
cd $IMGDIR
if [ ! -z $2 ]; then
FILENAME=$2
else
DATE=`date +%Y%m%d_%H-%M-%S`
FILENAME=image-$DATE.zip
fi
# Unix version:
#zip $WORKING/$FILENAME *
# MinGW version:
7za.exe a -tzip $WORKING/$FILENAME *
# clear.
cd $WORKING
rm -rf $IMGDIR $TMPDIR
echo end.