Since exiftool is awesome, then there's no need for it, but in principle you could do with find
something like this...
First check that your search finds what you want (using -iname to make it search case insensitively since both .JPG
and .jpg
etc are common)
find . -iname '*.jpg' -or -iname '*.png' -or -iname '*.jpeg' -or -iname '*.gif'
if will output a list of found files with paths starting here (including subdirectories)
then repeat adding the command to act on the files found at the end | xargs exiftool -all=
find . -iname '*.jpg' -or -iname '*.png' -or -iname '*.jpeg' -or -iname '*.gif' | xargs exiftool -all=
or safer if filenames have spaces, to use null as a delimiter instead of spaces:
find . -iname '*.jpg' -print0 -or -iname '*.png' -print0 -or -iname '*.jpeg' -print0 -or -iname '*.gif' -print0 | xargs --null exiftool -all=
If nothing matches (for example the directory is empty) then it does nothing
.
is the current working directory. If you aren't there, replace find .
with find /path/to/parent/directory
find
command rather than a for loop if your intent is to process all .jpg files.