Время создания источника файла - PullRequest
1 голос
/ 26 января 2012

У меня есть проект, над которым я работаю, где мне нужно проверить файлы на локальном и удаленном компьютере.Я попробовал пару вещей.Сначала я попытался проверить CreationTimeUTC обоих файлов.Я обнаружил, что время создания хранит время, когда файл был создан в соответствующей файловой системе, а не время, когда файл был создан впервые.Пока имя файла совпадает и является последней версией.Я не "Действительно" хочу прочитать все содержимое и получить хэш MD5 или какой-либо другой вид идентификатора, так как чтение файла может быть невозможным.(Получение информации о файле, который открыт другой программой, например, сделает этот метод невозможным)В заголовке файла хранится что-нибудь, что обозначает время создания файла или что-то подобное?Или если кто-то может порекомендовать другой параметр для использования или метод.

Заранее спасибо.

Ответы [ 3 ]

1 голос
/ 26 января 2012

Когда каждый файл копируется с локального компьютера на удаленный компьютер, назначьте время создания файла для string, используя File.GetCreationTime, а затем установите время создания копии удаленного компьютера с помощью File.SetCreationTime, чтобы оно совпадало с время создания исходного файла.

0 голосов
/ 26 января 2012

Вы пробовали использовать File.GetLastWriteTime? По крайней мере, при копировании файла с моего ноутбука на мой файловый сервер LastWriteTime остался прежним.

(Похоже, что существует известная ошибка преобразования , приводящая к тому, что информация о времени и дате иногда приводит к ошибкам при копировании из NTFS в FAT и наоборот).

0 голосов
/ 26 января 2012

Время создания файла всегда будет зависеть от машины, на которой он был создан.Самое простое решение - сохранить Файл на машинах, которые вы контролируете, и синхронизировать их время.

Вдобавок ко всему, я могу придумать два способа решения вашей проблемы:

  • Получение даты и времени удаленной и локальной системы и использование разницы между ними при сравнении времени файлов.

  • Если файлы никогда не удаляются, вы всегда можете проверить их«время жизни» путем вычисления времени между созданием файла и его последней модификацией.

Однако обе стратегии можно обойти, вручную изменив время системной даты.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...