1

Недавно я просматривал и реорганизовывал старые фотографии и сталкивался со многими случаями, когда метаданные Date created не отражали дату, когда фотографии были сделаны (или отсканированы), а вместо этого дают дату и время, когда они в последний раз копировались из другого каталог архива (я предполагаю). Хотя мой конкретный сценарий включает только файлы изображений, я ищу решение, которое можно применить к любым типам файлов.

Существуют ли какие-либо советы / приемы, которые помогут предотвратить это в будущем в Windows / Linux, такие как создание метаданных Date created only только для чтения?

Кроме того, любые советы о том, как я могу установить значение для предполагаемой (или точной) Date created для исправления этих файлов, которые были обновлены, будут с благодарностью :)

1 ответ1

2

"Дата создания" не имеет смысла, она всегда была просто о конкретном экземпляре этого файла. Windows не позволяет менять его вручную, а в Linux вообще этого не было до недавнего времени. (И даже тогда, только некоторые файловые системы поддерживают время "рождения", и нет общего API для доступа к нему. Обратите внимание, что "ctime" в Linux не время создания.)

У вас будет гораздо больше удачи, если вы попытаетесь сохранить временную метку "Дата изменения" , которая больше относится к содержимому файла. Это то, что показывает большинство файловых менеджеров. И большинство программ уже сохраняют его по умолчанию - оно хранится в Dropbox, оно хранится в Zip-архивах, оно даже передается при загрузке файлов через Интернет.

Поэтому мое общее предложение состоит в том, чтобы искать способы «заблокировать» измененную временную метку. Блокировка более сложна (хотя, вероятно, не очень необходима), но в Linux было бы просто написать скрипт, по крайней мере, для резервного копирования и восстановления :

#!/usr/bin/env perl
sub mtime { return (stat shift)[9]; }
print "#!/bin/sh\n";
for $file (grep {-f} glob("*")) {
    print "touch -d @".mtime($file)." '$file'\n";
}

(Ну, это резервный скрипт, который генерирует скрипт восстановления.)

Тем не менее, вы говорите о фотографиях. Я предполагаю, что они хранятся в формате JPEG, а не в "сырых" форматах. Большинство инструментов управления фотографиями поддерживают встраивание метаданных "Exif" в JPEG, и большинство камер делают это автоматически. Таким образом, для Windows, в проводнике файлов, вы можете просто включить столбец "Дата создания" вместо «Дата создания / изменения», и он покажет вам даты фотографий из файлов JPEG.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .