slyfox1186

imagemagick-optimize-large-jpg-files.bat

Sep 23rd, 2021 (edited)
1,472
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Batch 2.79 KB | None | 0 0
  1. @ECHO OFF
  2. SETLOCAL ENABLEEXTENSIONS
  3. COLOR 0A
  4. TITLE USE TEMP CACHE FILES TO OPTIMIZE LARGE JPG FILES
  5.  
  6. :----------------------------------------------------------------------------------
  7.  
  8. REM CREATED BY: SLYFOX1186
  9. REM WEB: https://pastebin.com/u/slyfox1186
  10.  
  11. :----------------------------------------------------------------------------------
  12.  
  13. REM THIS SCRIPT WILL USE TEMPORARY CACHE FILES TO APPLY EXTREME OPTIMIZATION TO LARGE JPG FILES
  14. REM FOR USE WITH JPG FILES >= 3 MEGABYTES PER IMAGE.
  15.  
  16. REM YOU MUST DOWNLOAD AND INSTALL IMAGEMAGICK'S DLL VERSION FOR WINDOWS TO OBTAIN CONVERT.EXE.
  17. REM DURING INSTALLATION YOU NEED TO CHECK THE BOX "INCLUDE LEGACY FILES" OR CONVERT.EXE WON'T BE INCLUDED.
  18. REM DOWNLOAD: https://imagemagick.org/script/download.php
  19.  
  20. REM PLACE THIS SCRIPT INSIDE THE FOLDER WITH THE JPG FILES AND IT SCRIPT WILL CREATE A SUBFOLDER CALLED 'OUTPUT'
  21. REM TO STORE THE OPTIMIZED FILES IN AND WILL LEAVE YOUR ORIGINAL FILES INTACT.
  22.  
  23. REM !ALWAYS! DO A TEST RUN BEFORE RUNNING THIS ON ANY FILES YOU CAN'T AFFORD TO LOSE.
  24.  
  25. :----------------------------------------------------------------------------------
  26.  
  27. PUSHD "%~dp0"
  28. IF NOT "%1"=="MAX" START /MAX CMD /D /C %0 MAX & GOTO :EOF
  29.  
  30. :----------------------------------------------------------------------------------
  31.  
  32. REM POINT THIS VARIABLE TO THE FULL PATH OF IMAGEMAGICK'S CONVERT.EXE FILE
  33. SET CONVERT=%ProgramFiles%\ImageMagick\convert.exe
  34.  
  35. :----------------------------------------------------------------------------------
  36.  
  37. REM CREATE TEMP AND OUTPUT FOLDERS
  38. IF NOT EXIST "%TMP%\IMagick_Cache_Files" MD "%TMP%\IMagick_Cache_Files"
  39. IF NOT EXIST "Output" MD "Output"
  40.  
  41. :----------------------------------------------------------------------------------
  42.  
  43. REM FIND ALL JPG FILES AND CONVERT THEM TO MPC FORMAT
  44. SETLOCAL ENABLEEXTENSIONS
  45. FOR %%G IN (*.jpg) DO (
  46.     FOR /F "TOKENS=1-2" %%H IN ('identify +ping -format "%%w %%h" "%%G"') DO (
  47.         ECHO Create: %%~nG.mpc ^+ %%~nG.cache
  48.         ECHO=
  49.         "%CONVERT%" "%%G" -monitor -filter Triangle -define filter:support=2 -thumbnail "%%Hx%%I" -strip ^
  50.         -unsharp 0.25x0.08+8.3+0.045 -dither None -posterize 136 -quality 82 -define jpeg:fancy-upsampling=off ^
  51.         -auto-level -enhance -interlace none -colorspace sRGB "%TMP%\IMagick_Cache_Files\%%~nG.mpc"
  52.         CLS
  53.         IF "%%G"=="" ENDLOCAL
  54.     )
  55. )
  56.  
  57. :----------------------------------------------------------------------------------
  58.  
  59. REM CONVERT CACHE FILES INTO JPG
  60. SETLOCAL ENABLEEXTENSIONS
  61. FOR %%G IN ("%TMP%\IMagick_Cache_Files\*.mpc") DO (
  62.     ECHO Convert: %%~nG.cache ^>^> %%~nG.jpg
  63.     ECHO=
  64.     "%CONVERT%" "%%G" -monitor "Output\%%~nG.jpg"
  65.     CLS
  66.     IF "%%G"=="" ENDLOCAL
  67.     )
  68. )
  69.  
  70. :----------------------------------------------------------------------------------
  71.  
  72. REM CLEANUP TEMP FILES
  73. RD /S /Q "%TMP%\IMagick_Cache_Files"
  74. START "" /MAX "%CD%\Output\*.jpg"
Add Comment
Please, Sign In to add comment