Foro de elhacker.net

Programación => Scripting => Mensaje iniciado por: castelar en 3 Marzo 2017, 11:35 am



Título: batch error de "no se esperaba
Publicado por: castelar en 3 Marzo 2017, 11:35 am
Hola estoy intentando hacer un script con irfanview para reducir las 10 primeras imagenes de una carpeta.

este es el codigo que tengo:

Código
  1. @echo off
  2. setlocal enabledelayedexpansion  
  3. SET /a cantidad=0  
  4.  
  5. FOR %%f IN ("*.jpg") DO (
  6. if !cantidad!==11 goto TERMINA  
  7. irfan.exe %%f /resize=(100,100) /resample /aspectratio /convert=th\%%f
  8. SET /a cantidad=!cantidad!+1
  9. )
  10.  
  11. :TERMINA


me da error de  "No se esperaba /resample en este momento"

por lo que he leido es un error de sintaxis, pero no lo veo.

a ver si me podeis ayudar
gracias





Título: Re: batch error de "no se esperaba
Publicado por: castelar en 3 Marzo 2017, 12:28 pm
Hola

Parece que tenia que escapar algunos caracteres en la linea tal que asi:

irfan.exe %%f /resize^=^(100,100^) /resample /aspectratio /convert^=th\\%%f   

gracias


Título: Re: batch error de "no se esperaba
Publicado por: Eleкtro en 3 Marzo 2017, 14:41 pm
irfan.exe %%f /resize=(100,100) /resample /aspectratio /convert=th\%%f   

Hola. Un fallo muy común en la programación de Batch es que se olvidan de utilizar las comillas dobles para encerrar argumentos...

Parece que tenia que escapar algunos caracteres en la linea tal que asi:

Escapar caracteres en este caso es un parche para fixear otro problema distinto.

Tan solo debes usar la sintaxis adecuada encerramendo entre comillas dobles el argumento que le estás enviando al irfanview:
Código:
irfan.exe "%%f /resize=(100,100) /resample /aspectratio /convert=th\%%f"

¡Saludos!


Título: Re: batch error de "no se esperaba
Publicado por: castelar en 3 Marzo 2017, 17:33 pm
perfecto !

no sabia esa opcion, mucho mas legible

gracias
saludos