Debo convertir aproximadamente mil millones de imágenes de jp2 a jpg ...
Creo tal .bat
for /d %%d in (*) do (
for %%f in ("%%~d\*.jp2") do (
convert -limit memory 0 -limit map 0 "%%~ff" -quality 25 "%%~dpf\jpg\%%~nf.jpg"
)
)
pero cuando se convierte más de ~ 100 000 ventanas arrojarme errores con memoria libre, etc ... ¿Cómo puedo hacer que la memoria se use más humanidad? Entonces, ¿ese convertidor de imágenes? en caso afirmativo, libere esa memoria ... ¿Tal vez hay maneras de enhebrar esto de otra manera?
Ahora obtengo errores de memoria libre de concolse y también errores de tiro de Windows ...
Además, si elimino el límite de memoria 0 -limitar mapa 0 tengo el mismo problema ...
windows
command-line
batch
imagemagick
brabertaser19
fuente
fuente
Respuestas:
A continuación me funciona bien, así que en caso de que lo encuentre útil para resolver el problema con la memoria de estos comandos en su caso particular, le estoy proporcionando una respuesta.
Sé que su ejemplo es usar un bucle FOR / D y usarlo para iterar en otro bucle FOR, pero usar un solo bucle FOR / F junto con el comando DIR y los interruptores aplicables parece ayudar a garantizar que cada conversión iterada, etc. esté en un nuevo instancia de memoria.
Sobrescribir archivos convertidos en el lugar
Salida de archivos convertidos a un directorio de salida
Recursos adicionales
fuente