Test Foro de elhacker.net SMF 2.1

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 (dos) [Seleccionar]
@echo off
setlocal enabledelayedexpansion  
SET /a cantidad=0  
 
FOR %%f IN ("*.jpg") DO (
if !cantidad!==11 goto TERMINA  
irfan.exe %%f /resize=(100,100) /resample /aspectratio /convert=th\%%f
SET /a cantidad=!cantidad!+1
)

:TERMINA
pause



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
Cita de: castelar en  3 Marzo 2017, 11:35 AM
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...

Cita de: castelar en  3 Marzo 2017, 12:28 PMParece 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:
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