Hier zijn de stappen om ExifTool te installeren op macOS en bestanden te sorteren in de map "Uit-te-zoeken" op basis van EXIF-gegevens:
Installatie van ExifTool op macOS- Open Terminal (Cmd + Spatie, zoek naar "Terminal").
- Voer de volgende opdracht uit om Homebrew te installeren (als je dit nog niet hebt gedaan):
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
- Nadat Homebrew is geïnstalleerd, voer het volgende uit om ExifTool te installeren:
brew install exiftool
Controleer of ExifTool correct is geïnstalleerd:
exiftool -ver
Dit zou de versie van ExifTool moeten weergeven.
Hoe nu verder?Stel dat de bestanden in een map staan genaamd "Uit-te-zoeken". Je kunt ExifTool gebruiken om de bestanden te sorteren op basis van EXIF-gegevens zoals jaar, maand, land en stad.
Navigeer naar de map met de foto's:
cd /pad/naar/Uit-te-zoeken
Dit kun je ook doen door in de terminal eerst
cd [ spatie ] in te geven en dan de map vanuit de finder te slepen naar de terminal, dan zal het pad worden gekopieerd naar de Terminal
dus:
cd
Even slepen en plakken:
cd /Users/docapple/Desktop/Uit-te-zoeken
Voorbeeld 1: Bestanden sorteren op jaar en maand
Je kunt de bestanden hernoemen en verplaatsen naar een mapstructuur op basis van jaar en maand:
exiftool '-FileName<CreateDate' -d '%Y/%m/%Y-%m-%d_%H%M%S%%-c.%%e' -r .
Dit commando verplaatst de bestanden naar submappen gesorteerd op jaar en maand.Voorbeeld 2: Bestanden sorteren op jaarWil je alleen sorteren op jaar, dan gebruik je dit commando:
exiftool '-FileName<CreateDate' -d '%Y/%Y-%m-%d_%H%M%S%%-c.%%e' -r .
Dit zal de bestanden verplaatsen naar mappen per jaar.Voorbeeld 3: Bestanden sorteren op land en stadDit kan met ExifTool door gebruik te maken van de velden voor locatie (indien aanwezig in de EXIF-gegevens):
exiftool '-FileName<${Country}-${City}/${DateTimeOriginal}' -d '%Y-%m-%d_%H%M%S%%-c.%%e' -r .
Dit zal de bestanden verplaatsen naar mappen gesorteerd op land en stad.Lijst van alle beschikbare velden in EXIFOm alle EXIF-velden van een bestand te zien, kun je ExifTool als volgt gebruiken:
exiftool -s3 bestandsnaam.jpg
Dit toont alle beschikbare EXIF-velden. Wil je veldnamen en waarden zien, gebruik dan:
exiftool -s2 bestandsnaam.jpg
Hiermee kun je eenvoudig bepalen welke velden je wilt gebruiken voor verdere sortering.
Kan het simpeler?Jazeker, je kunt ook eenvoudigere opdrachten geven aan EXIFTOOL, en je kunt ook de hulp-pagina bekijken. Ik ben op het werk, en heb hier enkel Linux (en Windows) bij de hand, maar hier is een uitdraai van de hulppagina ven exiftool:
exiftool --help
NAME
exiftool - Read and write meta information in files
SYNOPSIS
Reading
exiftool [*OPTIONS*] [-*TAG*...] [--*TAG*...] *FILE*...
Writing
exiftool [*OPTIONS*] -*TAG*[+-<]=[*VALUE*]... *FILE*...
Copying
exiftool [*OPTIONS*] -tagsFromFile *SRCFILE* [-[*DSTTAG*<]*SRCTAG*...]
*FILE*...
Other
exiftool [ -ver | -list[w|f|r|wf|g[*NUM*]|d|x|geo] ]
For specific examples, see the EXAMPLES sections below.
This documentation is displayed if exiftool is run without an input
*FILE* when one is expected.
Note: If *FILE* is a directory name then only supported file types in
the directory are processed (in write mode only writable types are
processed). However, files may be specified by name, or the -ext option
may be used to force processing of files with any extension. Hidden
files in the directory are also processed. Adding the -r option causes
subdirectories to be processed recursively, but subdirectories with
names beginning with "." are skipped unless -r. is used.
Below is a list of file types and meta information formats currently
supported by ExifTool (r = read, w = write, c = create):
File Types
------------+-------------+-------------+-------------+------------
360 r/w | DOCX r | ITC r | NUMBERS r | RAW r/w
3FR r | DPX r | J2C r | NXD r | RIFF r
3G2 r/w | DR4 r/w/c | JNG r/w | O r | RSRC r
3GP r/w | DSS r | JP2 r/w | ODP r | RTF r
7Z r | DV r | JPEG r/w | ODS r | RW2 r/w
A r | DVB r/w | JSON r | ODT r | RWL r/w
AA r | DVR-MS r | JXL r/w | OFR r | RWZ r
AAC r | DYLIB r | K25 r | OGG r | RM r
AAE r | EIP r | KDC r | OGV r | SEQ r
AAX r/w | EPS r/w | KEY r | ONP r | SKETCH r
ACR r | EPUB r | LA r | OPUS r | SO r
AFM r | ERF r/w | LFP r | ORF r/w | SR2 r/w
AI r/w | EXE r | LIF r | ORI r/w | SRF r
AIFF r | EXIF r/w/c | LNK r | OTF r | SRW r/w
APE r | EXR r | LRV r/w | PAC r | SVG r
ARQ r/w | EXV r/w/c | M2TS r | PAGES r | SWF r
ARW r/w | F4A/V r/w | M4A/V r/w | PBM r/w | THM r/w
ASF r | FFF r/w | MACOS r | PCD r | TIFF r/w
AVI r | FITS r | MAX r | PCX r | TORRENT r
AVIF r/w | FLA r | MEF r/w | PDB r | TTC r
AZW r | FLAC r | MIE r/w/c | PDF r/w | TTF r
BMP r | FLIF r/w | MIFF r | PEF r/w | TXT r
BPG r | FLV r | MKA r | PFA r | VCF r
BTF r | FPF r | MKS r | PFB r | VNT r
C2PA r | FPX r | MKV r | PFM r | VRD r/w/c
CHM r | GIF r/w | MNG r/w | PGF r | VSD r
COS r | GLV r/w | MOBI r | PGM r/w | WAV r
CR2 r/w | GPR r/w | MODD r | PLIST r | WDP r/w
CR3 r/w | GZ r | MOI r | PICT r | WEBP r/w
CRM r/w | HDP r/w | MOS r/w | PMP r | WEBM r
CRW r/w | HDR r | MOV r/w | PNG r/w | WMA r
CS1 r/w | HEIC r/w | MP3 r | PPM r/w | WMV r
CSV r | HEIF r/w | MP4 r/w | PPT r | WPG r
CUR r | HTML r | MPC r | PPTX r | WTV r
CZI r | ICC r/w/c | MPG r | PS r/w | WV r
DCM r | ICO r | MPO r/w | PSB r/w | X3F r/w
DCP r/w | ICS r | MQV r/w | PSD r/w | XCF r
DCR r | IDML r | MRC r | PSP r | XISF r
DFONT r | IIQ r/w | MRW r/w | QTIF r/w | XLS r
DIVX r | IND r/w | MXF r | R3D r | XLSX r
DJVU r | INSP r/w | NEF r/w | RA r | XMP r/w/c
DLL r | INSV r | NKA r | RAF r/w | ZIP r
DNG r/w | INX r | NKSC r/w | RAM r |
DOC r | ISO r | NRW r/w | RAR r |
RENAMING EXAMPLES
By writing the "FileName" and "Directory" tags, files are renamed and/or
moved to new directories. This can be particularly useful and powerful
for organizing files by date when combined with the -d option. New
directories are created as necessary, but existing files will not be
overwritten. The format codes %d, %f and %e may be used in the new file
name to represent the directory, name and extension of the original
file, and %c may be used to add a copy number if the file already exists
(see the -w option for details). Note that if used within a date format
string, an extra '%' must be added to pass these codes through the
date/time parser. (And further note that in a Windows batch file, all
'%' characters must also be escaped, so in this extreme case '%%%%f' is
necessary to pass a simple '%f' through the two levels of parsing.) See
<https://exiftool.org/filename.html> for additional documentation and
examples.
exiftool -filename=new.jpg dir/old.jpg
Rename "old.jpg" to "new.jpg" in directory "dir".
exiftool -directory=%e dir
Move all files from directory "dir" into directories named by the
original file extensions.
exiftool '-Directory<DateTimeOriginal' -d %Y/%m/%d dir
Move all files in "dir" into a directory hierarchy based on year,
month and day of "DateTimeOriginal". eg) This command would move
the file "dir/image.jpg" with a "DateTimeOriginal" of "2005:10:12
16:05:56" to "2005/10/12/image.jpg".
exiftool -o . '-Directory<DateTimeOriginal' -d %Y/%m/%d dir
Same effect as above except files are copied instead of moved.
exiftool '-filename<%f_${model;}.%e' dir
Rename all files in "dir" by adding the camera model name to the
file name. The semicolon after the tag name inside the braces
causes characters which are invalid in Windows file names to be
deleted from the tag value (see the "Advanced formatting feature"
for an explanation).
exiftool '-FileName<CreateDate' -d %Y%m%d_%H%M%S%%-c.%%e dir
Rename all images in "dir" according to the "CreateDate" date and
time, adding a copy number with leading '-' if the file already
exists ("%-c"), and preserving the original file extension (%e).
Note the extra '%' necessary to escape the filename codes (%c and
%e) in the date format string.
exiftool -r '-FileName<CreateDate' -d %Y-%m-%d/%H%M_%%f.%%e dir
Both the directory and the filename may be changed together via the
"FileName" tag if the new "FileName" contains a '/'. The example
above recursively renames all images in a directory by adding a
"CreateDate" timestamp to the start of the filename, then moves
them into new directories named by date.
exiftool '-FileName<${CreateDate}_$filenumber.jpg' -d %Y%m%d -ext jpg .
Set the filename of all JPG images in the current directory from
the CreateDate and FileNumber tags, in the form
"20060507_118-1861.jpg".
Hierboven een copy van de zogeheten "online manual", oftewel, kortweg: man-pages
Hieronder twee voorbeelden die ik geregeld gebruik:
exiftool '-Directory<$CreateDate' -d '%Y/%m' -r *
exiftool '-Directory<$FileModifyDate' -d '%Y/%m' -r *
Om deze wat nader toe te lichten:
Feitelijk is de syntax:
Om het wat ingewikkelder te brengen

:
<opdracht> [spatie] <-<bewerking> [spatie] <format> [spatie] <opties> [spatie] <bestandsnaam of selectiecriterium>
Maar als we het platslaan:
exiftool '-Directory<$CreateDate' -d '%Y/%m' -r *
exiftool is het stukje (terminal) software
-Directory is dus dat we het programma opdracht geven om een directory (folder) structuur te maken
< de structuur wordt gevoedt "krijgt zijn invoer van"
-d (Datum)
Waarbij de Datum opgebouwd wordt uit:
%Y/%m hetgeen staat voor %Y jaar (grote letter is 2024, kleine 'Y' is 24), %m stelt de maanden voor als getal (01 tot en met 12).
-r (recursief) betekend doorloop alle submappen
* in dit geval betekend: alle bestanden in de huidige map ...
Je kunt het zelf zo ingewikkeld (of simpel) maken als je wilt, en je kunt het ook gebruiken overigens om PDFs mee te sorteren, of om orde in je chaos aan te brengen. Stel nu dat je een map hebt met meer dan 20'000 bestanden; PDFs, audio-bestanden, video-bestanden, word-documenten, Apple Keynote documenten en meer ... Wat je kunt doen is exiftool met een opdracht alle bestanden doorzoeken en in plaats van op datum, geolocatie of iets anders, gewoon op bestandstype te sorteren.
exiftool '-Directory<${FileType}' -r .
Wat gebeurt er in ons laatste voorbeeld?Dit commando zal elk bestand verplaatsen naar een map die overeenkomt met zijn bestandstype. Bijvoorbeeld:
Een bestand met de extensie .pdf wordt verplaatst naar een map genaamd PDF/.
Een bestand met de extensie .docx wordt verplaatst naar een map genaamd DOCX/.
Na het uitvoeren van het commando ziet de mappenstructuur er bijvoorbeeld zo uit:
PDF/
Saaie-kost.pdf
Jaarverslag.pdf
DOCX/
Overeenkomst.docx
Curriculum Vitae.docx
TXT/
notities.txt
MP3/
pink_floyd-d2-t3.mp3
sepeltura-342.mp3
herby-hancock-Both-Sides-Now.mp3
AAC/
Nathan_James-Pure_Imagination.aac
Wind_Walkers-Feeding-the-Gods.aac
DJ_Kent-The-Words-Radio-Edit-02.aac
FLAC/
Djesse-vol-1-T1.flac
Djesse-vol-1-T2.flac
Djesse-vol-1-T3.flac
Oftewel per bestandstype wordt er een map aangemaakt, en in elke map de betreffende documenten gestopt. Kan een hoop schelen om de zaken verder uit te zoeken (of te sorteren).
Als je goed naar de opdrachten zelf kijkt, zijn ze superkort en kunnen een hoop ... En natuurlijk zijn er slimme programmeurs die alles voorzien van een prachtige GUI, maar vaak zit er ongekend veel power verborgen op ... de terminal ... Haat deze, of omarm deze ... De een is een klikgeit, de ander een type-miep ... Weer een derde een beetje van beide werelden.
Er zijn mensen die iets nieuws willen leren, anderen die "het wel best vinden". In ieder geval hebben we opties, per ommegaande dus mogelijk een steentje bijgedragen aan je kijk op opties

Fijne week allemaal!
Doctor
