asked by a user here is a script for creating thumbnails (CreateThumbnails.cmd):
Code:
@echo off rem Thumbnail creation with IrfanView cls setlocal echo Create thumbnails echo ----------------- rem ************ rem * Settings * rem ************ rem Thumbnail width set width=80 rem File extension set filetype=*.jpg rem JPEG quality set quality=50 rem Source path of the pictures set source=R:\pics rem Prefix for thumbnails set prefix=TN- rem Thumbnail sub directory name set thumbnail=thumbnail rem Silent mode? rem Set silent to 0 means see all messages rem Set silent to 1 means see just just the processed directories rem Set silent to 2 means see no messages set silent=0 rem Create thumbnails always rem Set createallways to 0 if you like to create thumbnails for new files only rem Set createallways to 1 to create new and overwrite existing thumbnails set createallways=0 rem Resize what? rem set resize=/resize=(%width%,%width%) set resize=/resize_long=%width% rem set resize=/resize_short=%width% rem Path to Irfan view if /i "%PROCESSOR_ARCHITECTURE%" equ "AMD64" ( rem Path to IrfanView on x64 Windows set iview="%ProgramFiles(x86)%\IrfanView\i_view32.exe" ) else ( rem Path to IrfanView on x86 Windows set iview="%ProgramFiles%\IrfanView\i_view32.exe" ) if not exist %iview% goto noIview rem ******************* rem * Script function * rem ******************* rem Check source path if not exist "%source%\." goto nosource rem Process the source directory for /f "delims=" %%a in ('pushd "%source%"^&cd^&popd') do call :createthb "%%~na" "%%a" rem Get directory structure and call the routine for converting for /f "delims=" %%a in ('dir /s /b /ad "%source%"') do call :createthb "%%~na" "%%a" echo Finished. goto end rem Create the thumbnails :createthb rem First check if we are not in a thumbnail directory if /i "%~1" equ "thumbnail" goto :eof rem Check if the thumbnail subdirectory exists if not exist "%~2\thumbnail" md "%~2\thumbnail" rem Create thumbnails if "%silent%" leq "1" echo Processing "%~2"... for /f "delims=" %%b in ('dir /b /a-d "%~2\%filetype%"') do call :createthb2 "%~2" "%%~b" goto :eof rem Create thumbnail if it does not exist :createthb2 rem if thumbnail exist => skip if exist "%~1\%thumbnail%\%prefix%%~2" ( if "%silent%" equ "0" echo Thumbnail "%~1\%thumbnail%\%prefix%%~2" for "%~1\%~2" found. if "%createallways%" equ "0" goto :eof ) rem Create thumbnail if "%silent%" equ "0" echo Creating thumbnail for "%~1\%~2". start "IrfanView" /wait %iview% "%~1\%~2" /resize=(%width%,%width%) /aspectratio /resample /jpgq=%quality% /convert="%~1\%thumbnail%\%prefix%$F" goto :eof rem IrfanView could not be found. :noiview echo IrfanView not found in the given path: echo %iview% goto end rem Source path does not exist :nosource echo Source path echo %source% echo not found. Please check the path. goto end rem End of the script :end pause endlocal
Code:
set filetype=*.jpg
Code:
set source=R:\pics
Code:
set width=80
Code:
set resize=/resize=(%width%,%width%)
or a rectangular
Code:
set height=80 set resize=/resize=(%width%,%height%)
Code:
set resize=/resize_long=%width%
Code:
set resize=/resize_short=%width%
Code:
set quality=50
Code:
set thumbnail=thumbnail
Code:
set prefix=TN-
Code:
set createallways=1
Code:
set createallways=0
Code:
set silent=0
use this line to see just the processed directories
Code:
set silent=1
Code:
set silent=2
Nils