Я пишу командный файл, который будет искать в каталоге файлы .jpg размером более 25 КБ, а затем запустит команду для сжатия этих файлов.
В настоящее время команда сжимает каждый файл .jpg, когда я запускаю его для всего каталога, но я изо всех сил пытаюсь заставить команду работать только для файлов размером более 25 КБ в указанном каталоге.Код ниже:
@echo off
SETLOCAL EnableDelayedExpansion
SET maxbytesize=25000
SET logfile=A:\JobLogs\PhotoCompression.log
ECHO Starting compression job at %date% %time% >> %logfile%
:: Runs the following if/else statement against all files in the directory
FOR %%G IN (C:\My\Directory) DO (
:: If file size is greater than or equal to 25Kb, run the ImageMagick command and append the name of the processed file to logfile
IF [ %var% GTR %maxbytesize% ]
magick mogrify -resize "140>^" -quality 75% -depth 8 -units PixelsPerInch -density 72x72 -strip *.jpg
ECHO %%G has been compressed %date% %time% >> %logfile%
:: No files are larger than 25Kb, write "All files are compressed" to logfile
ELSE ECHO All files are compressed %date% %time% >> %logfile%
)
:: Appends completed job status to logfile
ECHO Job is complete %date% %time% >> %logfile%
Exit
Команда "magick mogrify -resize" 140> ^ "-quality 75% -depth 8 -units PixelsPerInch -density 72x72 -strip * .jpg" является командой ImageMagick и можетигнорировать, поскольку он успешно сжимает фотографии при запуске по всему каталогу, как указано выше.
Обратите внимание, что я пробовал варианты% G, %% G,% G% и% var% в условии ifбезуспешно.