画像のサイズを取得し画像の上下を消す

バッチファイル

@echo off
setlocal enabledelayedexpansion

REM ImageMagick のパス
set CONVERT_PATH=C:\app\ImageMagick\convert.exe

REM 入力と出力のフォルダ
set INPUT_FOLDER=Y:\output_folder2
set OUTPUT_FOLDER=Y:\output_folder

REM 出力フォルダがなければ作成
if not exist "%OUTPUT_FOLDER%" (
    mkdir "%OUTPUT_FOLDER%"
)
REM 画像を1枚ずつ処理
for %%f in ("%INPUT_FOLDER%\*.png") do (
    for /f "tokens=1,2" %%a in ('%CONVERT_PATH% "%%f" -ping -format "%%w %%h" info:') do (
        set WIDTH=%%a
        set HEIGHT=%%b
        set /a NEW_HEIGHT=!HEIGHT!-10

        REM 高さが10ピクセル未満ならスキップ
        if !NEW_HEIGHT! gtr 0 (
            %CONVERT_PATH% "%%f" -crop !WIDTH!x!NEW_HEIGHT!+0+5 +repage "%OUTPUT_FOLDER%\%%~nxf"
            echo 処理完了: %%~nxf
        ) else (
            echo スキップ(高さ不足): %%~nxf
        )
    )
)

echo すべての画像を処理しました!
timeout /t 5

bat,imagemagick

Posted by eightban