Сортирование файлов по папкам (копирование в многоуровневые папки по дате создания)
Здравствуйте, помогите пожалуйста с батником. За месяц создается несколько тысяч файлов, и сортировать их вручную довольно долго.
Нужно следующие: Есть папка с большим кол-вом файлов вида: M11_Pob87_Cam_01_20131001_135437_0954.avi M11_Pob87_Cam_02_20131001_135504_1006.avi M11_Pob87_Cam_03_20141001_151822_0813.avi M11_Pob87_Cam_04_20141001_155122_0922.avi M11_Pob87_Cam_05_20141001_180623_0949.avi M11_Pob87_Cam_06_20141001_185636_0995.avi M11_Pob87_Cam_01 - название камеры 20141001 - дата создания файла 135437_0954 - временная метка Нужно чтобы скрипт создал многоуровневый каталог с папками и подпапками следующего вида Год Cam_** Месяц День Дату создания можно брать из названия файла или определить скриптом, как будет проще Заранее благодарен за помощь! |
Цитата:
|
Код:
@echo off |
Цитата:
M11_Pob87 - тоже может меняться, это название объекта, где установлена камера |
Цитата:
|
Цитата Iska:
Приведите примеры. А то вдруг длина имён разная окажется. » Действительно длина имён разная M6_Ubi14 M11_Pob87 M10_Pro226 И папка просмотра тоже многоуровневая, для примера e:\Cam_02\Video\Event\20141001\09 \10 \11 \13 e:\Cam_02\Video\Event\20141002\09 \10 \11 \13 e:\Cam_03\Video\Event\20141001\09 \11 \12 \14 e:\Cam_03\Video\Event\20141002\09 \11 \12 \14 А пересортировать нужно все из папки е:\ И еще просьба, можно самому указывать папку где создавать катагоги :: Обрабатываемая папка set "directory=D:\Camera" :: папка назначения Set "Out=d:\_Backup_" |
Код:
@echo off |
Извените что долго непроверял, пришлось отлучиться из офиса по работе.
Несовсем правильно отрабатывает. Если указать :: Обрабатываемая папка set "directory=e:" не работает вообще Нужно указивать конкретно папку :: Обрабатываемая папка set "directory=e:\Cam_02\Video\Event\20141001\14\" - тогда все нормально. Можно как то это побороть |
|
Я приводил пример структуры веше
И папка просмотра тоже многоуровневая, для примера e:\Cam_02\Video\Event\20141001\09 \10 \11 \13 e:\Cam_02\Video\Event\20141002\09 \10 \11 \13 e:\Cam_03\Video\Event\20141001\09 \11 \12 \14 e:\Cam_03\Video\Event\20141002\09 \11 \12 \14 А пересортировать нужно все из папки на диске е:, f: и так далее |
Systems, пробуйте:
Код:
@echo off . |
Спасибо огромное, все работает просто замечательно!
|
Добрый день, еще небольшая просьба, после переноса файлов остаються папки с файлами *.log, для прмера evt_20141001_151835022.log
Можно в этом же скрипте после переноса *.avi удалить все папки с оставшимися файлами. Удалить нужно папки которые находятся по вложению после e:\Cam_02\Video\Event, для примера e:\Cam_01\Video\Event\20141001\09 - нужно удалить все папки с оставшимися в них файлами 20141001\09, 20141001\10, 20141002\08, 20141002\11 и так далее e:\Cam_02\Video\Event\20141001\09 - нужно удалить все папки с оставшимися в них файлами 20141001\08, 20141001\13, 20141002\12, 20141002\14 и так далее |
Systems, дополнил:
Код:
@echo off . |
Ничего неизменилось в работе, файлы перенес а папки с мусором остальсь.
|
Systems, я просто из-за невнимательности вместо "Event" написал "Events". Вот так правильно:
Код:
@echo off . |
Спасибо огромное, все работает.
Со своей стороны я то же недосмотрел что в некоторых каталогах есть еще одна папка Record - которую нужно очищать по тому же принципу что и Event e:\Cam_01\Video\Record\20141001\09 - нужно удалить все папки с оставшимися в них файлами 20141001\09, 20141001\10, 20141002\08, 20141002\11 и так далее Можно еще и это добавить в скрипт |
Код:
@echo off |
Спасибо огромное
|
Время: 23:20. |
Время: 23:20.
© OSzone.net 2001-