Форум программистов, компьютерный форум, киберфорум
Batch (CMD/BAT)
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.72/18: Рейтинг темы: голосов - 18, средняя оценка - 4.72
0 / 0 / 0
Регистрация: 09.01.2022
Сообщений: 8

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

09.01.2022, 14:38. Показов 3898. Ответов 20
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Добрый день, господа.
Прошу Вашей помощи в следующей проблеме:
Есть большая куча видео файлов с расширениями mp4 и m4p, которые я перекодировал и залил в облако, но в облаке они сортируются по дате кодировки "Дата создания мультимедиа" (приложил скрин).
Нашёл команду для изменения даты:
exiftool -Time:All="2014:04:13 15:24:14" 20140413-152414.mp4)
Но как вы понимаете это только для одного файла, подскажите что нужно прописать для автоматической замены даты во всех файлах в каталоге и подкаталогах (можно на дату создания файла из атрибутов).
Заранее спасибо.
Миниатюры
Пакетное редактирование метаданных видео файлов  
0
Лучшие ответы (1)
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
09.01.2022, 14:38
Ответы с готовыми решениями:

Пакетное переименование файлов
Уважаемые форумчане, подскажите пожалуйста решение. Имеется множество файлов следующего вида: jsdsjlk_a.txt mfmsgslsfs_a.txt ...

Пакетное переименование файлов в каталоге
В папке есть некое количество файлов с расширением .jpg Надо с помощью батника переименовать эти файлы в вид 1.jpg, 2.jpg, 3.jpg и т.д.

Пакетное переименование и перемещения файлов
Добрый день. Помогите пожалуйста решить мою проблему. Есть примерно 300 папок в которой находятся картинки . 1.Необходимо изначально...

20
5968 / 4544 / 1094
Регистрация: 29.08.2013
Сообщений: 28,165
Записей в блоге: 3
09.01.2022, 15:09
Цитата Сообщение от Николай М Посмотреть сообщение
подскажите что нужно прописать для автоматической замены даты во всех файлах в каталоге и подкаталогах
использовать спецПО типа xStarter в котором можно автоматизировать это действие

или использовать батник\vs\js\vba\vbs\ps\python для того что бы написать цикл по папкам и запуск нужной команды
1
0 / 0 / 0
Регистрация: 09.01.2022
Сообщений: 8
09.01.2022, 15:51  [ТС]
Изначально были файлы даже со сбитым временем создания и изменения файла, я нашёл батник, который позволил мне установит верные атрибуты на все файлы сразу с заданной маской (включая подкаталоги):
powershell "gci '*[1-2][0-9][0-9][0-9][0-1][0-9][0-3][0-9]?[0-2][0-9][0-5][0-9][0-5][0-9].m*' -Recurse|%%{$_.CreationTime=Get-Date ((($x=$_.BaseName[-15..-1])[6,7]+'.'+$x[4,5]+'.'+$x[0..3]+' '+$x[9,10]+':'+$x[11,12]+':'+$x[13,14]) -join '')}"
powershell "gci '*[1-2][0-9][0-9][0-9][0-1][0-9][0-3][0-9]?[0-2][0-9][0-5][0-9][0-5][0-9].m*' -Recurse|%%{$_.LastWriteTime=Get-Date ((($x=$_.BaseName[-15..-1])[6,7]+'.'+$x[4,5]+'.'+$x[0..3]+' '+$x[9,10]+':'+$x[11,12]+':'+$x[13,14]) -join '')}"
Если вдруг кому-то понадобится. И очень надеялся, что есть возможность подобной операции для метаданных видео файлов.

Стандартное спецПО к сожалению для таких операций я не нашёл, если Вас не затруднит, пожалуйста, подскажите как можно с помощию xStarter такое провернуть.
0
4340 / 2130 / 661
Регистрация: 26.04.2015
Сообщений: 6,823
09.01.2022, 16:01
Windows Batch file
1
2
3
4
5
6
7
8
9
10
11
@echo off
>nul chcp 1251
set "foldMP4=C:\folderMP4"
set "exiftool=путь к папке\exiftool.exe"
 
pushd "%foldMP4%"
  for /f "delims=" %%a in ('dir /a-d/b "*.mp4"') do (
    "%exiftool%" "-CreateDate=2021:11:21 00:01:59" "%%a"
  )
popd
pause
1
0 / 0 / 0
Регистрация: 09.01.2022
Сообщений: 8
09.01.2022, 17:17  [ТС]
Проверил так не работает (не редактирует подкаталоги), интересно то что у всех файлов в папке сбросилась дата создания в атрибутах на текушее время, а дата кодирования остаётся без изменения.
вот накидал такое:

Windows Batch file
1
2
3
4
5
6
7
8
9
10
11
@echo on
>nul chcp 1251
set "foldMP4=F:\test"
set "exiftool=F:\test\exiftool.exe"
 
pushd "%foldMP4%"
  for /f "delims=" %%a in ('dir /a-d/b "*.m??"') do (
    "%exiftool%" -Time:All="2021.12.03 18:43:45" "%%a"
  )
popd
pause
но тут всем видеофайлам ставится одна и таже дата и не спускается в подкаталоги, а я хотел, чтоб дата устанавливалась из их даты изменения или создания и соответственно спускалось в подкаталоги

по сути весь батник который представлен можно заменить одной строкой:
Windows Batch file
1
exiftool -Time:All="2021.12.04 18:43:45" F:\test\*.m??
Добавлено через 18 минут
Может быть у кого-нибудь есть ещё какие-то идеи?
0
6981 / 2873 / 1104
Регистрация: 06.06.2017
Сообщений: 9,752
09.01.2022, 20:07
Цитата Сообщение от Николай М Посмотреть сообщение
дата устанавливалась из их даты изменения или создания
Дата чего? Это же и есть ключевые даты.
0
0 / 0 / 0
Регистрация: 09.01.2022
Сообщений: 8
09.01.2022, 20:52  [ТС]
Цитата Сообщение от FlasherX Посмотреть сообщение
Дата чего? Это же и есть ключевые даты.
"Дата создания мультимедиа" конечно.

Добавлено через 1 минуту
В общем я немного поковырялся и сам "допетрил". Если кому-то надо:
Windows Batch file
1
2
3
4
5
6
7
8
@echo off
setlocal ENABLEDELAYEDEXPANSION
for /r %%i in (*.M??) do (
  set F=%%i
  set DATA=!F:~-19,-15!.!F:~-15,-13!.!F:~-13,-11! !F:~-10,-8!:!F:~-8,-6!:!F:~-6,-4!
  echo !DATA!         !F!   
  c:\exiftool.exe -Time:All="!DATA!" "!F!" -overwrite_original
)
Вносит изменения во все видео файлы по всем каталогам и подкаталогам папки в которой запускается.
0
6981 / 2873 / 1104
Регистрация: 06.06.2017
Сообщений: 9,752
09.01.2022, 21:05
Цитата Сообщение от Николай М Посмотреть сообщение
"Дата создания мультимедиа" конечно.
Не думаю, что это можно с exiftool через оператор сделать. Не вижу там такой даты. FileCreateDate может совпадать, но это другое.
Цитата Сообщение от Николай М Посмотреть сообщение
В общем я немного поковырялся и сам "допетрил".
Не, тут всё проще:
Windows Batch file
1
@c:\exiftool.exe -ext m4p -ext mp4 -fast2 -f -m -overwrite_original -P -q -r "-time:all<CreateDate" .
1
 Аватар для volodin661
6688 / 2279 / 348
Регистрация: 10.12.2013
Сообщений: 7,888
09.01.2022, 21:08
Цитата Сообщение от Николай М Посмотреть сообщение
Если кому-то над
никому не надо; у exiftool есть опция -recursive

собственно exiftool это perl-модуль, он вполне автономен и его возможности на 9 порядков
превышают смешные потуги подмешивания ватных cmd-инструкций
0
0 / 0 / 0
Регистрация: 09.01.2022
Сообщений: 8
09.01.2022, 21:28  [ТС]
Цитата Сообщение от FlasherX Посмотреть сообщение
@c:\exiftool.exe -ext m4p -ext mp4 -fast2 -f -m -overwrite_original -P -q -r "-time:all<CreateDate"
Пробовал доставать эту дату, но она как раз была датой кодировки из мета данных, а не датой создания из Атрибутов файла, пришлось колхозить именно из имён файлов. Но всё равно спасибо за неравнодушие.
Цитата Сообщение от volodin661 Посмотреть сообщение
у exiftool есть опция -recursive
Был бы признателен, если бы продемонстрировали пример.
0
6981 / 2873 / 1104
Регистрация: 06.06.2017
Сообщений: 9,752
09.01.2022, 21:33
Николай М, дата кодирования - это не дата создания мультимедия, я об этом в другой теме писал, а пример с рекурсией и так уже продемонстрирован. volodin661 как всегда "вовремя" влез.
0
0 / 0 / 0
Регистрация: 09.01.2022
Сообщений: 8
09.01.2022, 21:33  [ТС]
Цитата Сообщение от FlasherX Посмотреть сообщение
Не думаю, что это можно с exiftool через оператор сделать. Не вижу там такой даты. FileCreateDate может совпадать, но это другое.
я тоже отдельный оператор такой не находил, пытался менять разные даты, но к сожалению четно, команда -time:all изменяет все поля в метаданных имеющий формат времени и похоже одно из них и является "Дата создания мультимедиа"
0
6981 / 2873 / 1104
Регистрация: 06.06.2017
Сообщений: 9,752
09.01.2022, 21:37
Цитата Сообщение от Николай М Посмотреть сообщение
я тоже отдельный оператор такой не находил
Я разве пишу, что я его не находил? Он приведён в моей команде: "-time:all<CreateDate"
Цитата Сообщение от Николай М Посмотреть сообщение
но к сожалению четно, команда -time:all изменяет все поля в метаданных имеющий формат времени и похоже одно из них и является "Дата создания мультимедиа"
Я это прекрасно понял. Типа за неимением альтернативы вы решили вопрос радикально. Хотя через < я не вижу в свойствах этого изменения.
0
0 / 0 / 0
Регистрация: 09.01.2022
Сообщений: 8
09.01.2022, 21:39  [ТС]
Цитата Сообщение от FlasherX Посмотреть сообщение
дата кодирования - это не дата создания мультимедия, я об этом в другой теме писал
Я прошу прощения, что ввожу Вас в заблуждение. Я файлы перекодировал по этому думаю, что дата кодирования и дата создания мультимедия в файлах была одинаковой, на какую именно ссылается облачный софт было непонятно, по этому проще было все поменять разом.
Цитата Сообщение от FlasherX Посмотреть сообщение
пример с рекурсией и так уже продемонстрирован
Если не затруднит поделитесь, пожалуйста, ссылочкой.
0
6981 / 2873 / 1104
Регистрация: 06.06.2017
Сообщений: 9,752
09.01.2022, 21:44
Лучший ответ Сообщение было отмечено Николай М как решение

Решение

Цитата Сообщение от Николай М Посмотреть сообщение
на какую именно ссылается облачный софт было непонятно, по этому проще было все поменять разом.
Понятно.
Цитата Сообщение от Николай М Посмотреть сообщение
Если не затруднит поделитесь, пожалуйста, ссылочкой.
Какой ссылочкой? Я вам команду привёл. Ключ -r (но кому-то надо долбить длинные названия, пусть долбят дальше).
0
0 / 0 / 0
Регистрация: 09.01.2022
Сообщений: 8
09.01.2022, 21:48  [ТС]
Цитата Сообщение от FlasherX Посмотреть сообщение
Какой ссылочкой? Я вам команду привёл. Ключ -r (но кому-то надо долбить длинные названия, пусть долбят дальше).
Спасибо большое. Буду вникать.
0
4340 / 2130 / 661
Регистрация: 26.04.2015
Сообщений: 6,823
10.01.2022, 00:41
Цитата Сообщение от Николай М Посмотреть сообщение
поделитесь, пожалуйста, ссылочкой
я так понял нужен help?
Windows Batch file
1
exiftool --help
утилита серьезная, информации много, все досконально изучить, я так понял, проще тому кто постоянно этим занимается.
0
6981 / 2873 / 1104
Регистрация: 06.06.2017
Сообщений: 9,752
10.01.2022, 01:14
alpap, искать проще так: exiftool|find/i "word".
1
 Аватар для volodin661
6688 / 2279 / 348
Регистрация: 10.12.2013
Сообщений: 7,888
10.01.2022, 15:29
как я уже говорил.
exiftool - это perl - модуль,
поэтому можно извлечь несомненную выгоду,
установив полноценный perl-дистриб + exiftool + другие какие-нить весьма полезные модули
ImageMagick, например

установка делается так:

Windows Batch file
1
2
3
4
choco install strawberryperl
choco install imagemagick.app
cpanm  Image::ExifTool
cpanm  Image::Magick
после чего можно пользоваться не только ком. строкой,
но и просто скриптом.

Вытащить из образа тэг размера и аннотировать им картинку по нижнему краю:

annotate-image.bat
Windows Batch file
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
perl -x "%~f0" %*
exit/b
 
#!/usr/bin/env perl
use Image::ExifTool qw(:Public);
use Image::Magick;
 
$exif    = new Image::ExifTool;
$image   = new Image::Magick;
 
my $file = "7гном.JPG";
my $info = $exif  -> ImageInfo($file);
my $n    = $image -> Read($file); 
my $text = $info  -> {ImageSize};
 
$image->Annotate(
    pointsize => 100,
    fill      => 'green',
    text      => $text,
    gravity   => 'South',
);
 
my $new  = $image->Write('new.jpg');
ДО:

ПОСЛЕ:
1
4340 / 2130 / 661
Регистрация: 26.04.2015
Сообщений: 6,823
10.01.2022, 20:45
volodin661,
а что такое: cpanm ?
после установки perl и magick ругается на его отсутствие, где оное обитает чтобы к нему путь указать?

Добавлено через 3 минуты
нашел: "C:\Strawberry\perl\bin"
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
10.01.2022, 20:45
Помогаю со студенческими работами здесь

Пакетное переименования файлов по маске
Такого рода вопросы уже естественно были, однако я в них не нашел ответа. Вот моя проблема: в папке имеется N количество субтитров,...

Пакетное переименование файлов по маске
Всем привет. Нужна помощь. Задача: В папке есть файлы вида ААА(3_3_x).txt, где ААА - произвольный текст различной длины; x-некое число...

Пакетное переименование файлов
Возникла необходимость папку с большим кол-вом файлом переименовать 1,2,3,4,5..... Например фильмы или музыку или фото что бы шло по...

Пакетное переименование файлов
Есть файлы ___ нужно скрипт групового переименования файлов где меняеться местами только формат даты на год месяц день на вот это ...

Пакетное перемещение файлов
Добрый день, уважаемые программисты! Очень нужна ваша помощь. Суть проблемы: Есть файлы (отчеты) с названием номера куста и скважины,...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование . \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json> Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом. # Check if. . .
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так: https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347 Основана на STM32F303RBT6. На борту пять. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru