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

Добавление префиксов к именам файлов и копирование файлов

07.06.2016, 12:15. Показов 9884. Ответов 24

Студворк — интернет-сервис помощи студентам
Доброго времени суток, уважаемые, знатоки!
Столкнулся с задачей конвертации большого объема DAV файлов в AVI. Почти полгода записи камер.
Принесли внешний диск, на котором есть определенная структура папок (корень-даты-камеры-файлы). Есть утилита пакетного конвертирования из DAV в AVI. Но ей можно указать вручную только одну папку. Т.к. папок реально очень много, то каждый раз "тыкать" программу в каждую папку очень утомительно. Можно ли сделать такую автоматизацию (наверное в 2 скрипта), чтобы в корне создалась папка например "DAV" и из каждой папки с номером камеры, файлы скопировались в неё, но в имя файла добавились верхние папки, т.е. дата и номер камеры, к примеру "2016-02-18-имяфайла-006" (шестая камера к примеру), после того как я сконвертирую скопом все файлы из папки DAV и удалю их, останутся файлы AVI. И например вторым скриптом исходя из имени получившихся AVI они скопировались из папки DAV обратно в старые места (где были DAV) по датам и папкам камер, в идеале с удалением префикса даты (первого префикса), чтобы не получались слишком длинные имена.

Надеюсь не слишком запутанно написал. Просто руками я это всё по сути проделывал, но только для конкретной даты, делая групповое переименование, дописывая номер камеры и сгружая всё в папку с числом, а хочется охватить больше дат разом.
Структура папок показана на скриншотах.

Заранее спасибо за ответы!
Миниатюры
Добавление префиксов к именам файлов и копирование файлов   Добавление префиксов к именам файлов и копирование файлов   Добавление префиксов к именам файлов и копирование файлов  

0
Лучшие ответы (1)
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
07.06.2016, 12:15
Ответы с готовыми решениями:

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

Рекурсивное добавление префикса к именам всех файлов с некоторыми исключениями
Добрый вечер. Нужна помощь в таком вопросе: Есть рабочий каталог D:\bat с десятком подкаталогов. Нужно добавить к имени всех файлов (...

Копирование файлов по именам, извлеченным из txt
Добрый день всем. Продолжая обучения delphi наткнулся на новую проблему. Не пойму как реализовать копирование файлов с каталога....

24
Эксперт Python
5439 / 3860 / 1215
Регистрация: 28.10.2013
Сообщений: 9,552
Записей в блоге: 1
29.06.2016, 13:28
Студворк — интернет-сервис помощи студентам
mejorcorreo,
А где у вас файлы, которые нужно раскидывать находятся? Батник предполагает, что непосредственно в корневой папке указанной в pushd. Поиск файлов *.dav нерекурсивный - поскольку предполагается наличие "свалки" файлов в одной папке.

Добавлено через 2 минуты
Похоже, у вас файлы имеют расширение *.avi (после конвертации), а не .dav. Укажите другое расширение в цикле.

Добавлено через 48 минут
PS: в конце строки set folderDown=!basename:~-3! есть лишний пробел. На создание папки он не влияет, но лучше убрать. И правильнее, конечно, сразу переменную и значение в кавычки заключать "folderDown=!basename:~-3!" - тогда наличие случайных пробелов исключается.
0
0 / 0 / 0
Регистрация: 06.06.2016
Сообщений: 24
29.06.2016, 14:01  [ТС]
Нет-нет, не свалка. Как я уже написал выше, что файлы AVI находятся уже в папках дат. Осталось только их переместить в папки соответствующей камеры, о чем говорит суффикс в конце файла.
И, разумеется, хотелось бы рекурсивно, чтобы можно было запустить в папке месяца, т.к. если раскопировать по датам bat-ник, то смысл в автоматизации пропадает, т.к. надо будет заходить в каждую папку соответственно по 30-31-му разу и запускать bat-ник.
Спасибо!
0
Эксперт Python
5439 / 3860 / 1215
Регистрация: 28.10.2013
Сообщений: 9,552
Записей в блоге: 1
29.06.2016, 14:59
Лучший ответ Сообщение было отмечено ComSpec как решение

Решение

А начальный путь из папки месяцев подойдет? То есть батник поочередно зайдет в папки январь,февраль,март и т.д.
В каждой зайдет в папки с датами и далее расфасует содержащие там файлы согласно конечным суффиксам.
Windows Batch file
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
@echo off
:: здесь указать корневую директорию либо локацию батника: %~dp0 - тогда батник должен быть в корне папки всех месяцев
pushd "d:\test\месяцы" 
setlocal enabledelayedexpansion
for /d %%d in (*) do (
  pushd %%d
  for /d %%s in (*) do (
    pushd %%s
    for %%i in (*.avi) do (
      set "basename=%%~ni"
      set "folderDown=!basename:~-3!"
      echo %%d\%%s\%%i !folderDown!
      2>nul mkdir !folderDown!
      1>nul move %%i !folderDown!
    )
    popd
  )
  popd 
)
popd
pause
То есть вся работа будет выполняться за один запуск.
PS: логику батника можно и короче сделать - но пока такой вариант на ум пришел :-)

Добавлено через 9 минут
Кстати - если у вас изначально имеется некая свалка файлов (с нужными префиксами и суффиксами) в одной папке, то создание всей необходимой структуры папок с помещением файла в соответствующую папку можно ведь тоже полностью автоматизировать, вместо создания папок месяцев и дат вручную.
2
0 / 0 / 0
Регистрация: 06.06.2016
Сообщений: 24
29.06.2016, 15:12  [ТС]
Ура! Это гениально! Спасибо большое! Скрипт работает идеально. То что мне нужно!
0
 Аватар для volodin661
7152 / 2340 / 353
Регистрация: 10.12.2013
Сообщений: 8,115
29.06.2016, 17:32
Цитата Сообщение от Garry Galler Посмотреть сообщение
Кстати - если у вас изначально имеется некая свалка файлов (с нужными префиксами и суффиксами) в одной папке, то ..
... то я бы их там и оставил.
человеку, ежели чо, требуется найти файлы за определённое время с определённой камеры, вся требуемая информация уже заложена в самом файле( имя+временные атрибуты) и с этим справится небольшая утилита, нет никакой нужды гонять файлы по каталогам.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
29.06.2016, 17:32

Распределение файлов в папках по подпапкам с именами, соответствующими именам этих файлов
Распределение файлов в папках по подпапкам с названием подпапок как файл. например в папке 0005 лежит файл 3.pdf и tam.pdf нужно в...

Как найти названия файлов в текстовом файле, а потом осуществить поиск в папке файлов по этим именам?
Здравствуйте. Подскажите, пожалуйста. У меня есть текстовый файл, где находятся имена файлов и есть папка, где много всяких файлов, в том...

Переименование файлов в папках с добавлением к именам этих файлов имён этих папок
Есть 4 папки с архивом записей с камеры видеонаблюдения с именами 13 14 15 16. В каждой папке находится 60 минутных файлов в формате...

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

Сортировка файлов в папке по именам
Нашел пример отсортировать файлы в папке по времени и затем вывести на эран, работает пример. http://f9r.ru/sortarrrrr.html А как...


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

Или воспользуйтесь поиском по форуму:
25
Ответ Создать тему
Новые блоги и статьи
Программный домашний кинотеатр
russiannick 27.09.2026
Сподобился на программный домашний кинотеатр. В качестве ЯВУ по традиции выбрал js. В помощники взял Яндекс-Алису. Было создано три зала на разные интересы. исторические и ретро сериал Хичкок. . .
Беседа с ИИ о программистах, недопускающих к созданию и правке кода генеративные ИИ и причины этого
zorxor 21.09.2026
Раньше я радовался или получал некоторые эмоции, пусть небольшие, но всё же, от самого процесса написания кода, рекомпиляции и запуска, видя постепенное развитие программы и прочее. А теперь лень. . .
Мобильное приложение ColorStep
pavlinmavlin 17.09.2026
Реализовал приложение Красный, Зеленый, Синий в Unity3d + c#. Название изменил на ColorStep. Приложение прошло модерацию и теперь доступно для скачивания. Делал его сам, шаг за шагом — и вот,. . .
Запрет дублирования строк в табличной части
Maks 13.09.2026
Реализация из решения ниже выполнена на нетиповом справочнике "Нормы ТО" с табличной часть "Виды ТО", разработанного в КА2, со следующими реквизитами: - ВидТО (СправочникСсылка. ВидыТО); - ВидГСМ. . .
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр.
Jin X 06.09.2026
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр. Работая с форумом и нейросетями в браузере часто хочется что-то подкорректировать или добавить какого-то функционала. Ниже прикреплён. . .
Программа опроса у.з. расходомера SLS-720F
Argus19 02.09.2026
Программа опроса у. з. расходомера SLS-720F Программа опрашивает один раз в минуту три ультразвуковых расходомера SLS-720F через интерфейс RS-485 по протоколу Modbus RTU. Опрашиваются регистры. . .
Hyper-V: Компьютер должен поддерживать доверенный платформенный модуль 2.0.
Maks 31.08.2026
При установке Windows 11 на виртуальную машину Hyper-V 2-го поколения вылезла такая ошибка: Решение: в параметрах виртуальной машины, в разделе "Безопасность" (Security) активировать флаг. . .
Архитектура биовида Стива в Майнкрафте: Зачем бонобо кубический каннибализм
anaschu 30.08.2026
Кубический Вагинокапитализм в Minecraft: Математический инвариант ОДУ и рок Стивов-бонобо Главная задача разработанной «Модели Всего» — наглядно продемонстрировать наличие системной «судьбы». . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru