2

Предположим, у меня есть папка из 100 файлов, и они создали / изменили даты, которые являются неправильными, потому что часы реального времени в устройстве, которое их записало, были неправильными.

Я хочу добавить одинаковое смещение к датам всех файлов. Скажите 351 день, 11 часов, 5 минут.

Есть ли инструмент, который может это сделать?

Я сделал это успешно на EXIF-содержащих JPG с камеры, используя инструмент командной строки exiv2. Тем не менее, он не работает с файлами MOV (видео).

Система Win7.

1 ответ1

3

В Windows изначально нет команды для изменения даты создания или изменения файла.

Но есть внешние утилиты, которые предоставляют эту функциональность. Популярной является touch команда unix [ http://en.wikipedia.org/wiki/Touch_(Unix) ], портированная на окна в коллекции unxutils [ http://en.wikipedia.org/wiki/UnxUtils ]

После того, как вы загрузили и установили этот файл, вы можете изменить временную метку файлов любым способом.

touch filename.ext -t 123123592013.59

Как видите, синтаксис немного странный.

И делать это вручную для каждого из файлов 100-х годов будет очень утомительно и подвержено ошибкам.

Так что вы, вероятно, подумаете об автоматизации процесса. В конце концов, автоматизация - это то, в чем хорошо работают компьютеры.

Я предлагаю вам использовать более мощный инструмент, такой как powershell например.

Этот короткий скриптлет сделает в PowerShell то, что вам нужно.

ps Get-ChildItem . ^| ForEach-Object { $_.LastWriteTime=$_.LastWriteTime.addDays(351).addMinutes(665) }

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