Переименование группы файлов по их дате и времени

Обсуждение вопросов автоматизации Total Commander с помощью сторонних программ и скриптовых технологий.

Модераторы: Avada, CaptainFlint, Nik, d-view, Моторокер

Аватара пользователя
Tol!k
Сообщения: 1727
Зарегистрирован: Вт апр 01, 2008 20:02
Откуда: Арзамас

Сообщение Tol!k »

Код: Выделить всё

TOTALCMD#BAR#DATA
%ComSpec% /c ren
"%O.%E" "%O_%%date:/=.%%.%E"
%COMMANDER_PATH%\wcmicons.dll,7
добавить текущую дату к имени

1
-1
Аватара пользователя
Aleks431
Сообщения: 74
Зарегистрирован: Пн май 23, 2011 23:49

Сообщение Aleks431 »

Так ведь стало немного не так
xxx_20.01.2016 (zzz_20.01.2016.ini)
Аватара пользователя
Flasher
Сообщения: 14229
Зарегистрирован: Пт ноя 06, 2009 00:33
Откуда: Москва

Сообщение Flasher »

Зачем поддерживать оффтоп? Давно есть тема с решениями.
Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой.
Аватара пользователя
Tol!k
Сообщения: 1727
Зарегистрирован: Вт апр 01, 2008 20:02
Откуда: Арзамас

Сообщение Tol!k »

немного не так
можно изменить системный формат даты

или воспользоваться решениями из темы
SaDim
Сообщения: 18
Зарегистрирован: Вс май 22, 2011 22:28

Сообщение SaDim »

Flasher
Извеняюсь за оффтоп, честно искал, видать пропустил.
Tol!k
Огромнейшее спасибо.
Немного модифицировал Ваш код получил то что надо.

Код: Выделить всё

TOTALCMD#BAR#DATA 
%ComSpec% /c ren 
"%O.%E" "%O_%%date:~6,4%%.%%date:~3,2%%.%%date:~0,2%%.%E"  
%COMMANDER_PATH%\wcmicons.dll,7 
добавить текущую дату к имени 

1 
-1
Аватара пользователя
Avada
Сообщения: 10541
Зарегистрирован: Пт авг 01, 2008 16:17
Откуда: Россия, Саратов

Сообщение Avada »

SaDim
Замечание за нарушение правил форума. Цепочка сообщений из темы "Создание папки вида: дата+время" перенесена по принадлежности.
Даже самая богатая фантазия
Не представит себе наши безобразия.
Eug63
Сообщения: 13
Зарегистрирован: Пн фев 01, 2016 08:33

Сообщение Eug63 »

Здравствуйте, ситуация такая, фотосъемка производится тремя камерами, фотографии с них переименовывается по формату Y-M-D h-m-s.jpg, в результате все фото располагались хронологически, но случайно на одной из камер время оказалось сбито на один час.

Есть ли возможность переименовать файлы изменив время на один час

пример:

сейчас 2014-12-25 22-33-26.jpg

надо 2014-12-25 23-33-26.jpg
Аватара пользователя
Flasher
Сообщения: 14229
Зарегистрирован: Пт ноя 06, 2009 00:33
Откуда: Москва

Сообщение Flasher »

Eug63
Сперва при совпадении с именем меняется дата модификации на час (а там автоматически и день, месяц, год) с помощью этого, а после подставляется [Y]-[M]-[D] [h]-[m]-[s] в ИГП в качестве маски.

Предварительно добавить час к дате jpg-файлов в структуре каталога можно и в powershell:

Код: Выделить всё

gci D:\MyFotos\ -include *.jpg -Recurse -Force|%{$_.LastWriteTime=$_.LastWriteTime.AddHours(1)}
Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой.
sa
Сообщения: 2758
Зарегистрирован: Ср апр 29, 2009 18:56

Сообщение sa »

Eug63
А много ли часов/дней было сбито время?
Аватара пользователя
Flasher
Сообщения: 14229
Зарегистрирован: Пт ноя 06, 2009 00:33
Откуда: Москва

Сообщение Flasher »

sa
Допустим, даже 1 день 5 часов максимум. И?

P.S.: поправь предложение.
Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой.
Аватара пользователя
Вахмурка
Сообщения: 2587
Зарегистрирован: Пн дек 27, 2004 14:47
Откуда: Большая деревня Москва
Контактная информация:

Сообщение Вахмурка »

Сайт PowerPro+Total Commander
Скрипты PowerPro для Total Commander
* * *
«Не усматривайте злого умысла в том, что вполне объяснимо глупостью» (Р. Хэнлон)
Аватара пользователя
Flasher
Сообщения: 14229
Зарегистрирован: Пт ноя 06, 2009 00:33
Откуда: Москва

Сообщение Flasher »

Вахмурка
Первый аддон кривой (ранее проверялся и предлагался в теме по моей ссылке), не годится. Второй для неюникодных имён ещё потянет.
Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой.
Eug63
Сообщения: 13
Зарегистрирован: Пн фев 01, 2016 08:33

Сообщение Eug63 »

sa писал(а):Eug63
А много ли часов/дней было сбито время?
на 1 час, но файлов много

PS Извините за задержку в ответах, разница во времени)

Добавлено спустя 32 минуты:

Надо исправить только время указанное в имени файла, пример:

2012-08-20 11-07-52.JPG - тут время съемки 11 ч.

надо добавить 1 час и получить

2012-08-20 12-07-52.JPG

Предложенные утилиты посмотрел, но нужной возможности не нашел, вариант с использованием последней модификации файла не подходит, файлы уже изменялись (повороты, обрезка и т.д.) можно использовать только дату создания
sa
Сообщения: 2758
Зарегистрирован: Ср апр 29, 2009 18:56

Сообщение sa »

Eug63
Судя по примерам от 2014 и 2012 годов, время было сбито не в одной фотосессии, а на протяжении несколько лет...
Если после всех манипуляций с файлами, в них всё же сохранилась EXIF-информация, то с помощью утилиты exiftool можно сначала подправить на 1 час сами EXIF-данные о дате/времени съёмки: exiftool -AllDates+=1, а затем, основываясь на них, восстановить и правильные имена.
Аватара пользователя
Flasher
Сообщения: 14229
Зарегистрирован: Пт ноя 06, 2009 00:33
Откуда: Москва

Сообщение Flasher »

Eug63 писал(а):вариант с использованием последней модификации файла не подходит, файлы уже изменялись (повороты, обрезка и т.д.) можно использовать только дату создания
А ничего, что приведённая мной утилита меняет все 3 типа дат? И для powershell это не проблема:

Код: Выделить всё

gci D:\MyFotos\ -include *.jpg -Recurse -Force|%{$_.CreationTime=$_.CreationTime.AddHours(1)}
А что касается ИГП, то вместо указанной маски нужна вот эта: [=tc.Дата создания.Y-M-D h-m-s]
Но всё это имеет смысл делать при условии совпадения базовых имён и дат создания.
Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой.
Ответить