giovedì 29 ottobre 2009

Conversione batch di BMP in JPG da riga di comando con ImageMagick

Oggi mi sono trovato nel disco una cinquantina di vecchi screenshot in formato BMP e mi sono reso conto che tengono un bel po' di posto. Siccome ogni singola immagine tiene 1,7 MB e non mi serve tenerle in BMP ho pensato di convertirle tutte in JPG. Da fare a mano è una operazione abbastanza lunga quindi mi sono messo alla ricerca di una soluzione per fare la conversione di tutta la cartella in automatico.
Ci sono molti programmi di grafica che integrano strumenti per effettuare conversioni o modifiche di gruppo (uno su tutti il Photoshop) ma esistono anche strumenti un po' più stuzzicanti dal punto di vista di un programmatore.
Uno di questi (e forse il migliore) in ambiente GNU/Linux è la libreria ImageMagick. Per installarla dare il comando sudo apt-get install imagemagick.

Il suo utilizzo è molto semplice. Per convertire una cartella di file BMP in JPG mantenendo lo stesso nome (cambiando solo estensione), basta posizionarsi all'interno della cartella con i file BMP, digitare il seguente comando nel terminale e dare invio.

for i in *.BMP; do convert $i `basename $i .BMP`.jpg; done

Attenzione che gli apici sono quelli a rovescio che si fanno con ALT Gr + '

Il comando è un ciclo che esegue il comando convert per ogni file BMP presente all'interno della cartella. L'estensione del file viene cambiata tramite il comando basename.

3 commenti:

Nextor ha detto...

Grazie mille! Mi è servito un sacco ed ho risparmiato un bordello di tempo.
Grazie ancora!

Nicola Cardinali ha detto...

Sono contentissimo di esserti stato d'aiuto! Ciao

Nextor ha detto...

Comunque il comando è key sensitive, quindi il .BMP potrebbe non funzionare perchè vuole .bmp
Magari specificalo, che per un neofita non è banale come errore...