Сохранение даты и времени файлов и их последующее восстановление Печать
Добавил(а) microsin   

Photoshop, AcdSee и другие подобные программы-редакторы графических файлов обладают нехорошим недостатком - после редактирования файлов теряется их оригинальная дата и время. Возникла идея написать программу, которая будет сохранять время и дату указанных файлов в текстовый файл вместе с именами файлов, а потом при необходимости из этого текстового файла можно будет взять информацию о времени/дате и вернуть и присвоить их отредактированным файлам.

Для этих целей была написана утилита filedate.exe, которая и позволяет производить вышеуказанные операции. Если запустить программу без опций, то выведется подсказка по командной строке: 

c:\VCPP\filedate\Release>filedate.exe
File data and time store/restore utility from microsin. Usage:
filedate.exe <-ci:path|-co:path> [-f:filename] [-v]
        -f:filename point to database (default is datatime.txt)
        -ci:path STORE data & time of files from path folder
        -co:path RESTORE data & time of files from path folder
        -v verbose messages
Format one line of database file (default is datatime.txt):
"fn" "CT.u32H CT.u32L LAT.u32H LAT.u32L LWT.u32H LWT.u32L"
        fn  - filename
        CT  - file Creation Time
        LAT - file Last Access Time
        LWT - file Last Write Time
        u32H - High double word
        u32L - Low  double word

Пояснения по опциям программы:
-f:filename Указать имя файла, в котором будет сохраняться информация о дате и времени файлов, либо откуда эта информация будет считываться (зависит от того, какая опция -ci или -co использовалась). Опция -f: необязательна - если её не указать, то будет использовано имя файла datatime.txt, расположенного в текущем каталоге.

-ci:path Указать путь до каталога с файлами у которых будет читаться дата/время, и писаться в выходной файл (datatime.txt или другой указанный).

-co:path Указать путь до каталога с файлами, у которых будет заполняться дата/время. Информация о дате и времени берется из входного файла (datatime.txt или другой указанный).

-v Подробно выводить информацию о процессе.

Пример файла с датой и временем можно посмотреть здесь. Утилиту вместе с исходными кодами можно скачать здесь (исполняемый файл filedate.exe лежит в папке Release).