elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Usando Git para manipular el directorio de trabajo, el índice y commits (segunda parte)


+  Foro de elhacker.net
|-+  Programación
| |-+  Scripting
| | |-+  [Batch] Problema con un IF
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: [Batch] Problema con un IF  (Leído 2,025 veces)
castelar

Desconectado Desconectado

Mensajes: 8


Ver Perfil
[Batch] Problema con un IF
« en: 16 Mayo 2015, 12:00 pm »

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
  1.  
  2. @echo off
  3. FOR %%f IN ("*.jpg") DO (
  4.        For /F %%# in ('identify -format "%%[fx:w]" "%%f"') Do (SET /A "width=%%#")
  5.        For /F %%# in ('identify -format "%%[fx:h]" "%%f"') Do (SET /A "height=%%#")
  6.        MKDIR ".\modificado" 2>NUL
  7.        MKDIR ".\modificado2" 2>NUL
  8.           echo %%f
  9.                      echo %width% x %height%
  10.  
  11.                    IF %height% LSS %width% (
  12.                    echo "foto horizontal"
  13.                    copy "%%f" "modificado2\%%~nf.jpg"
  14.                    )
  15.                    IF %width% LSS %height% (
  16.                     convert "%%f" -rotate 90 "modificado\%%~nf.jpg"
  17.                     ECHO "foto vertical.transformando..."
  18.                     )
  19.  
  20.        )
  21.  

Espero me puedan ayudar, gracias.


En línea

Eleкtro
Ex-Staff
*
Desconectado Desconectado

Mensajes: 9.870



Ver Perfil
Re: [Batch] Problema con un IF
« Respuesta #1 en: 16 Mayo 2015, 12:21 pm »

Prueba así:

Código
  1. @echo off & SetLocal EnableDelayedExpansion
  2. FOR %%f IN ("*.jpg") DO (
  3.        For /F %%# in ('identify -format "%%[fx:w]" "%%f"') Do (SET /A "width=%%#")
  4.        For /F %%# in ('identify -format "%%[fx:h]" "%%f"') Do (SET /A "height=%%#")
  5.        MKDIR ".\modificado" 2>NUL
  6.        MKDIR ".\modificado2" 2>NUL
  7.           echo %%f
  8.                      echo !width! x !height!
  9.  
  10.                    IF !height! LSS !width! (
  11.                    echo "foto horizontal"
  12.                    copy "%%f" "modificado2\%%~nf.jpg"
  13.                    )
  14.                    IF !width! LSS !height! (
  15.                     convert "%%f" -rotate 90 "modificado\%%~nf.jpg"
  16.                     ECHO "foto vertical.transformando..."
  17.                     )
  18.  
  19.        )
  20.  

Saludos


En línea



castelar

Desconectado Desconectado

Mensajes: 8


Ver Perfil
Re: [Batch] Problema con un IF
« Respuesta #2 en: 16 Mayo 2015, 12:27 pm »

Perfecto !!

no conocia lo de EnableDelayedExpansion

muchas gracias.

saludos
En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
un problema con vb y batch
Scripting
sorcerer 2 4,281 Último mensaje 28 Enero 2005, 17:00 pm
por Slasher-K
[Batch] Problema con el Quick Batch File Compiler
Scripting
najmuddin 6 5,336 Último mensaje 29 Junio 2008, 08:39 am
por najmuddin
[BATCH] Problema con Quick Batch compiler, incluir 2 archivos BAT. « 1 2 »
Scripting
daniel69 17 13,657 Último mensaje 31 Mayo 2009, 19:33 pm
por daniel69
[Batch] Insertar un batch dentro de un batch que fabrique un .txt
Scripting
$pedrojo2704 2 6,268 Último mensaje 23 Agosto 2012, 10:08 am
por $pedrojo2704
[BATCH]Problema con IF LSS
Scripting
Segadorfelix 9 5,115 Último mensaje 24 Diciembre 2012, 19:32 pm
por Binary_Death
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines