IMO, the winner is jhead (from hobbes; very small; requires jpegtrans
from jpeg6b package - also on hobbes).
Weaknesses:
a) Can't do 4 operations in one step
(copy/losslessly-rotate-if-needed/correct-rotation-flag-in-header/set-time)
b) Does not support wildcards.
Still, it is much more convenient than the alternatives I tried.
So: what I do now:
a) Manually copy JPG files to destination directory.
b) Run a for-loop over a 4os2 alias which does 3 remaining operations.
As in
(for %f in (150MSDCF\*.jpg 151MSDCF\*.jpg) do jpeg_arotate "%f" ) |& tee 00arot
Here jpeg_arotate is aliased as
jpeg_arotate (jhead -autorot %& && jhead -ft -norot %&)
Hope this helps,
Ilya
> (for %f in (150MSDCF\*.jpg 151MSDCF\*.jpg) do jpeg_arotate "%f" ) |& tee 00arot
>
> Here jpeg_arotate is aliased as
> jpeg_arotate (jhead -autorot %& && jhead -ft -norot %&)
Yesterday I needed to rotate images manually (this particular camera
had no gravity sensor). I did the same with alias targets
(jhead -cmd "jpegtran -rotate 90 &i > &o" -ft %&)
(jhead -cmd "jpegtran -rotate 270 &i > &o" -ft %&)
90 for clockwise, 270 for counter-clockwise rotations. (I did not do
any comparison with other software this time. I did not use -norot
flag, since there was no rotation-tag to start with...)
Hope this helps,
Ilya