[Batch] Problema con un IF

Iniciado por castelar, 16 Mayo 2015, 12:00 PM

0 Miembros y 1 Visitante están viendo este tema.

castelar

Hola.

Estoy intentando adaptar en script bash a batch, se trata de copiar las imagenes de una carpeta y si la imagen esta en vertical rotarla 90 grados con imagemagick.
El problema es que hago dos IF y siempre se cumple el primero de ellos.

El cofigo es este:

Código (dos) [Seleccionar]


@echo off
FOR %%f IN ("*.jpg") DO (
        For /F %%# in ('identify -format "%%[fx:w]" "%%f"') Do (SET /A "width=%%#")
        For /F %%# in ('identify -format "%%[fx:h]" "%%f"') Do (SET /A "height=%%#")
        MKDIR ".\modificado" 2>NUL
        MKDIR ".\modificado2" 2>NUL
           echo %%f
                      echo %width% x %height%
                     
                    IF %height% LSS %width% (
                    echo "foto horizontal"
                    copy "%%f" "modificado2\%%~nf.jpg"
                    )
                    IF %width% LSS %height% (
                     convert "%%f" -rotate 90 "modificado\%%~nf.jpg"
                     ECHO "foto vertical.transformando..."
                     )
           
        )


Espero me puedan ayudar, gracias.

Eleкtro

Prueba así:

Código (dos,1,8,10,14) [Seleccionar]
@echo off & SetLocal EnableDelayedExpansion
FOR %%f IN ("*.jpg") DO (
        For /F %%# in ('identify -format "%%[fx:w]" "%%f"') Do (SET /A "width=%%#")
        For /F %%# in ('identify -format "%%[fx:h]" "%%f"') Do (SET /A "height=%%#")
        MKDIR ".\modificado" 2>NUL
        MKDIR ".\modificado2" 2>NUL
           echo %%f
                      echo !width! x !height!
                     
                    IF !height! LSS !width! (
                    echo "foto horizontal"
                    copy "%%f" "modificado2\%%~nf.jpg"
                    )
                    IF !width! LSS !height! (
                     convert "%%f" -rotate 90 "modificado\%%~nf.jpg"
                     ECHO "foto vertical.transformando..."
                     )
           
        )


Saludos








castelar

Perfecto !!

no conocia lo de EnableDelayedExpansion

muchas gracias.

saludos