Страница 1 из 2

Создание каталогов и сортировка файлов по ним

Добавлено: Пн дек 13, 2010 17:53
MaxaSamAtman
Здравствуйте.
Имеется папка с более чем 1000 файлов.
пример
Изображение
Надо их рассортировать вот-так
пример
Изображение

есть какие либо соображения по данному поводу?

Добавлено: Пн дек 13, 2010 18:08
Вахмурка
Сейчас придут Batya и Tol!k и будут соревноваться - кто быстрее напишет скрипт vbs или батник соответственно. А пока они не пришли:
- число символов до и после дефиса одинаково?
- скрипт PowerPro устроит? Если да, то чур я буду третий соревноваться. ;)

Добавлено: Пн дек 13, 2010 18:13
Batya
Вахмурка писал(а):Сейчас придут Batya и Tol!k и будут соревноваться - кто быстрее напишет скрипт vbs или батник соответственно.
Не будут!

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

Добавлено: Пн дек 13, 2010 18:17
Вахмурка
Я так понял, что красная стрелочка означает "копировать/переместить в...".

MaxaSamAtman, поясни.

Добавлено: Пн дек 13, 2010 18:29
MVV
Если переместить выделенные файлы в подпапки, названные по первым 6 символам имени, то простейший бат-файл:

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

@echo off
if -%1==-go goto go
if -%1==- echo Params: %%WF&pause&goto :EOF
for /f "usebackq delims=" %%f in (`type %1`) do call %0 go %%f
pause
goto :EOF

:go
set $filename=%~2
set $foldername=%$filename:~0,6%
if not exist %$foldername% md %$foldername%
move %$filename% %$foldername%
А если просто показать на панели в таком порядке, то, как уже было сказано, невозможно.

Добавлено: Пн дек 13, 2010 19:20
MaxaSamAtman
Вахмурка писал(а):Я так понял, что красная стрелочка означает "копировать/переместить в...".

MaxaSamAtman, поясни.
Да, копировать или переместить.
Рассматриваются оба варианта.
смешанная сортировка ... это фотошеп ... , для наглядности имен файлов-папок.

да, папок пока тож нет, вот их еще как-бы создать.

В указаном выше Бат`нике менять что либо надо?
если нет ... , то что-то не работает
Изображение

Добавлено: Пн дек 13, 2010 20:19
Flasher
MaxaSamAtman писал(а):что-то не работает
MVV просто не обратил внимание на название топика и забыл включить в батник создание самих папок. Чуток надо подождать, исправит. :wink:
Этот же будет работать, если подобные папки уже находятся в одном каталоге с файлами.

Добавлено: Пн дек 13, 2010 21:14
hit69
Flasher писал(а):
MaxaSamAtman писал(а):что-то не работает
MVV просто не обратил внимание на название топика и забыл включить в батник создание самих папок. Чуток надо подождать, исправит. :wink:
Этот же будет работать, если подобные папки уже находятся в одном каталоге с файлами.
однако все равно не работает)))
и так и сяк...
я так понял, скрипт должен по первым 6 символам в названии файлов создать папки с такими названиями, далее файлы с одинаковыми первыми 6ю символами перемещаются в папку созданную "под них".

к примеру 1000 файлов, уникальных по 6 первым - 600,
создается 600 папок - > перемещение файлов по-папкам.

Добавлено: Пн дек 13, 2010 21:31
MVV
Flasher писал(а):
MaxaSamAtman писал(а):что-то не работает
MVV просто не обратил внимание на название топика и забыл включить в батник создание самих папок. Чуток надо подождать, исправит. :wink:
Этот же будет работать, если подобные папки уже находятся в одном каталоге с файлами.
А ты хоть пробовал батник? Эта его строчка тебе о чем-нибудь говорит?

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

if not exist %$foldername% md %$foldername%
:D
MaxaSamAtman писал(а):В указаном выше Бат`нике менять что либо надо?
если нет ... , то что-то не работает
Изображение
Дык кому написано, что нужно указать параметр %WF? :wink: Зайди в свойства кнопки и пропиши там в строке параметров. Да, еще важное замечание - поле рабочей папки в свойствах кнопки необходимо очистить.

Добавлено: Пн дек 13, 2010 21:37
Flasher
MVV писал(а):А ты хоть пробовал батник?
Не стал, просто оценил код мельком. :)
MVV писал(а):Эта его строчка тебе о чем-нибудь говорит?
:shock: Ослеп. Пардон муа..

Добавлено: Пн дек 13, 2010 21:51
hit69
все работает...;) ребят, а фильтр сюда можно прикрутить?
к примеру исходные файлы *.raw остаются, а перемещаются только к примеру *.jpg или *.psd


можно или нельзя прикрутить фильтр - это второе - первое - Спасибо! ;)

Добавлено: Пн дек 13, 2010 22:04
MaxaSamAtman
всем пасиб, все супер

Добавлено: Пн дек 13, 2010 22:35
MVV
hit69 писал(а):все работает...;) ребят, а фильтр сюда можно прикрутить?
к примеру исходные файлы *.raw остаются, а перемещаются только к примеру *.jpg или *.psd
Сразу после строчки с :go вставь следующие 2 строки, чтобы указать расширения, которые не будут обрабатываться:

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

echo .raw .tmp | find /i "%~x2" > nul
if not errorlevel 1 goto :EOF
Здесь после echo перечисляешь через пробелы сами расширения, маски не поддерживаются (я для примера написал два расширения, можно любое число). Файлы с расширениями, не перечисленными в первой строчке, будут перемещаться в соответствующие подпапки.

Добавлено: Пн дек 13, 2010 23:32
Batya
Ну, раз речь идёт не о сортировке, а о перемещении, то можно воспользоваться либо этим скриптом, либо этим (с параметрами %L "%P" 22 "-" ).

Добавлено: Чт май 03, 2012 21:50
shveicar
Здравствуйте
Что нужно добавить в батник, чтобы файлы перемещались на противоположную панель, в существующие папки. (с ориентиром по количеству символов все понятно). И еще один момент: после запуска батника появляется надпись нажмите любую клавишу.. Как сделать чтобы через 5 секунд сценарий автоматически выполнялся (если конечно окно не закрыть). Спасибо.
Опс - Извиняюсь, почти нашел ответ
здесь