For example, I have two files:
aaa.jpg (with cat)
aaa.png (with dog)
As you can see, images are different, despite of their names, which are the same.
I want to convert both these images to one single format.
The basic attempt for this task is
mogrify -format jpg *.png
But it doesn't work, for obvious reasons (one folder cannot contain multiple files with the same name and extension).
Also, some notes from myself.
Please note, this is just example. In real life, it would be about 100-200 images.
From my point of view, there seems to exist at least 2 ways to fix this issue: add a timestamp to filename OR add random text. I think random text will be better because timestamps sometimes could be equal (if processing is very fast).
So, what do you suggest for this task, and how it could be done? Thanks.
Instead of
mogrify
you can useconvert
modifying the original file name with-set filename:f
, for example adding a suffix containing a counter:Where the meaning of
%p
and%t
attributes are:More details here.
If this is your starting scenario:
the final situation would be:
In similar situations I add text (not random) so the files would be aaa_png.png and aaa_jpg.jpg, and therefore after the conversion you'd have aaa_png.jpg and aaa_jpg.jpg which should help you keep track of things and be immune to the problem you had.
As @jsv pointed out, you can do this in one step:
If you do it this way, the original "aaa.png" and "aaa.jpg" will still exist, along with the new "aaa_png.jpg" file.