Недавно я обнаружил, что временные метки модификации файлов на некоторых моих фотографиях (хранящихся в виде файлов JPG/JPEG) не совпадают с временными метками, хранящимися в их данных Exif. Это странно, потому что я никогда не модифицировал ни одну из этих фотографий.
Я хочу найти другие фотографии, на которых это произошло, чтобы, возможно, определить причину и предотвратить это в будущем.
Чтобы помочь мне в этом, пожалуйста, порекомендуйте программное обеспечение, которое может сравнивать временные метки модификации файла пакета (~ 50 000) файлов JPG с любыми временными метками Exif, хранящимися внутри них. Я предпочитаю, чтобы программное обеспечение использовало время захвата (также известное как исходное время ), но оно может использовать любое из полей временной метки Exif.
Единственным другим требованием является совместимость программного обеспечения с Windows.
Предпочтительно переносимое бесплатное программное обеспечение с открытым исходным кодом, но ни одно из них не является обязательным.
Я любитель CLI, поэтому предложил бы, exiv2
что с открытым исходным кодом и кросс-платформенный. Для работы следующего простого сценария оболочки все, что вам нужно, это exiv2
и, необязательно (для awk
и sed
) busybox
, двоичный файл (оба переносимы, установка не требуется). Я использую его на Android и Linux. В Windows вы можете использовать Cygwin или WSL (или даже написать .bat
скрипт, я в этом не силен):
#!/bin/sh
DIR='/sdcard/DCIM'
find $DIR -type f -iname '*.jp*g' |
while read -r photo
do
exif_ts=$(exiv2 -q pr "$photo" 2>/dev/null | busybox awk '/timestamp/ {print $4}' | busybox sed 's|:|-|g')
fs_ts=$(busybox stat -c %y "$photo" | busybox awk '{print $1}')
[ "$exif_ts" = "$fs_ts" ] || printf '%-12s%-12s%s\n' "$exif_ts" "$fs_ts" "$photo"
done
Это выведет все файлы, временные метки которых отличаются:
...
2017-02-20 2018-12-01 /sdcard/DCIM/Camera/20170220_145017.jpg
2017-08-15 /sdcard/DCIM/Camera/20170614171823.jpg
2016-12-30 2019-01-07 /sdcard/DCIM/Camera/FB_IMG_1483082415875.jpg
...
Первый столбец — это временная метка EXIF, а второй — временная метка файловой системы. Вы также можете получить часы, минуты и секунды в обеих метках времени.
Ирфан Латиф
RockPaperLz - Замаскируй или Шкатулка