Converting images in a batch process is not difficult in general, but approaches like this fail at filenames/directories with spaces
#!/bin/sh for file in $(find -iname *.bmp); do mogrify -verbose -format png $file; done
The solution is to use ‘read’ in the following way
#!/bin/sh find . -iname "*.bmp" | while read name; do mogrify -verbose -format png "$name"; done
which converts all *bmp to *.png in the folder and all of its subfolders.