Hi,
asked by a user here is a script for creating thumbnails (CreateThumbnails.cmd):
The script searches for files of type JPG
in the source folder
It will create thumbnail files of the search result with a size of
Resize the image an set the size like
for a rectangle,
or a rectangular
or keep the proprtional setting and resize by setting the long side
or the short side
and set the JPEG quality to 50 percent
Store the thumbnails in subdiretories of the original files named thumbnail
and use the prefix "TN-"
Create the thumbnails always
or just for new files
If you want to see some progress messages you may
for all messages or
use this line to see just the processed directories
or use this if you do not like to see any processing message
Have fun
Nils
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