Программисты, помогите решить задачу с сортировкой файлов!

Всего 7 сообщ. | Показаны 1 - 7
Программисты, помогите решить задачу с сортировкой файлов!
Всем привет!

Наверняка тут есть программисты или около того.

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

Представьте себе проект, структура которого выглядит примерно так:

-ПРОЕКТ
---ВИДЕОФАЙЛЫ
------север.mov
------восток.mov
------юг.mov
------запад.mov
---РАСКАДРОВКИ_ВИДЕОФАЙЛОВ
------СЕВЕР
---------север_0001.png
---------...
---------...
---------север_9999.png
-------ВОСТОК
---------восток_0001.png
---------...
---------...
---------восток_9999.png
-------ЮГ
---------юг_0001.png
---------...
---------...
-------ЗАПАД
---------запад_0001.png
---------...
---------...
---------запад_9999.png

-----КАДРЫ_ДЛЯ_ПАНОРАМ

-----ГОТОВЫЕ_ПАНОРАМЫ


Все папки естессна в реальности будут с латинскими именами, назвал по-русски для простоты понимания.

На фишай снимается видео в четыре стороны света, потом каждый ролик сохраняется с помощью quicktime pro покадрово в папку "РАСКАДРОВКИ ВИДЕОФАЙЛОВ" в свою подпапку, соответствующую стороне света, в виде последовательности графических файлов, 3-4-минутный ролик содержит несколько тысяч кадров.
Дальше предполагается с помощью PTGui сшивать группы по четыре стороны света в одну цельную панораму. Но для этого файлы должны сгруппированы не по принадлежности к видеоролику, а по номеру кадра. То есть программе для сшивки панорам нужно скармливать такие группы файлов: КАДР_0001\ север_0001.png, восток_0001.png, юг_0001.png, запад_0001.png

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

На сегодня решены все сложные задачи, кроме одной, казалось бы простой и тривиальной. Нужна утилита-скрипт-экшн-батч, не важно что, который бы брал картинки из папок с ракурсами и объединял бы их в группы по номеру кадра и клал в новую папку.
Т.е. в нашем случае скрипт должен взять из папок с раскадровками видеофайлов четыре картинки: север_0001.png, восток_0001.png, юг_0001.png, запад_0001.png, создать новую папку "КАДР_0001" в папке "КАДРЫ_ДЛЯ_ПАНОРАМ", переместить туда взятые четыре ракурса, чтобы в итоге получилась папка
"КАДР_0001\ север_0001.png, восток_0001.png, юг_0001.png, запад_0001.png"

И это проделать со всеми 9999 кадрами по четыре ракурса в каждом.

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

В программной логике это выглядело бы примерно так:

10 спросить у пользователя, в какой папке лежит проект
20 Определить переменную N как целое число, N=1
30 Смотрим в папку СЕВЕР, ищем файл *N.*
40 создаем папку КАДР_N
50 перемещаем туда найденный файл
60 повторяем строчки с 10 по 30 для папок ВОСТОК, ЮГ и ЗАПАД
70 N=N+1
80 if N < 10000 GOTO 30
90 END


Ракурсов может быть и больше, чем четыре, тогда исходные папки с кадрами целесообразно обозвать не сторонами света, а условно "РАКУРС_1, 2, 3...", а число ракурсов пусть пользователь задает, и программа будет перебирать папки ракурсов по циклу от 1 до X.

В принципе даже в банальном бейсике задача яйца выеденного не стоит, но проблема в том, что я уже совсем позабыл всё, что связано с программированием, синтаксис, команды...
Поэтому прошу помощи, как облечь эти 10-15 несчастных строчек в исполняемый код, скрипт, батч-файл для командной строки и т.д., не важно что.
В принципе для простоты можно даже обойтись без GUI и запросов у пользователя, где лежат ракурсы, а сделать консольный батч-файл и прописать абсолютные локальный пути, типа C:\VIDEOPANO\PROJECT-WORK\FRAMES\..

Не важно, на какую платформу - Mac, PC - без проблем )

Пожалуйста, помогите как-нибудь решить задачу!

Заранее спасибо!
Re[Доктор Ктулху]:
http://matrix-files.ЮКОЗ.ru/load/dos/1-1-0-20
Русские замените на английские

Только осторожнее, - любая ошибка может привести к потере части архива. Поэтому и не хочется подсовывать что-то готовое.
Re[Доктор]:
Набросать на Дельфи? Минут 15-20...
Re[Андрей Якубовский]:
Цитата:

от:Андрей Якубовский
http://matrix-files.ЮКОЗ.ru/load/dos/1-1-0-20
Русские замените на английские

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

Подробнее


Спасибо! Попробую сам консолью обойтись
Re[Доктор Ктулху]:
Очень советую посмотреть в сторону скриптов в Adobe Bridge http://www.natulrich.com/ru/lessons/lessons4.php

http://forums.adobe.com/message/4044084#4044084
http://www.adobe.com/devnet/scripting.html
Re[texu]:
Цитата:
от: texu
Набросать на Дельфи? Минут 15-20...


Спасибо, я пока что попробую по методу выше разобраться с консолью ) Если не получится - отпишу )
Re[Доктор Ктулху]:
for %%A in (north\*.png) do ( mkdir frame%%~nA & for %%B in (north south west east) do move %%B\%%~nA.png frame%%~nA\%%B.png )
Вы не авторизованы

Пожалуйста, авторизуйтесь, чтоб иметь доступ к полному функционалу сайта

Обратная связь

Здесь вы можете оставить свои контактные данные, чтобы мы могли связаться с вами.