Страница 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 просто не обратил внимание на название топика и забыл включить в батник создание самих папок. Чуток надо подождать, исправит.
Этот же будет работать, если подобные папки уже находятся в одном каталоге с файлами.
Добавлено: Пн дек 13, 2010 21:14
hit69
Flasher писал(а):MaxaSamAtman писал(а):что-то не работает
MVV просто не обратил внимание на название топика и забыл включить в батник создание самих папок. Чуток надо подождать, исправит.
Этот же будет работать, если подобные папки уже находятся в одном каталоге с файлами.
однако все равно не работает)))
и так и сяк...
я так понял, скрипт должен по первым 6 символам в названии файлов создать папки с такими названиями, далее файлы с одинаковыми первыми 6ю символами перемещаются в папку созданную "под них".
к примеру 1000 файлов, уникальных по 6 первым - 600,
создается 600 папок - > перемещение файлов по-папкам.
Добавлено: Пн дек 13, 2010 21:31
MVV
Flasher писал(а):MaxaSamAtman писал(а):что-то не работает
MVV просто не обратил внимание на название топика и забыл включить в батник создание самих папок. Чуток надо подождать, исправит.
Этот же будет работать, если подобные папки уже находятся в одном каталоге с файлами.
А ты хоть пробовал батник? Эта его строчка тебе о чем-нибудь говорит?
Код: Выделить всё
if not exist %$foldername% md %$foldername%
MaxaSamAtman писал(а):В указаном выше Бат`нике менять что либо надо?
если нет ... , то что-то не работает

Дык кому написано, что нужно указать параметр
%WF?

Зайди в свойства кнопки и пропиши там в строке параметров. Да, еще важное замечание -
поле рабочей папки в свойствах кнопки необходимо очистить.
Добавлено: Пн дек 13, 2010 21:37
Flasher
MVV писал(а):А ты хоть пробовал батник?
Не стал, просто оценил код мельком.

MVV писал(а):Эта его строчка тебе о чем-нибудь говорит?

Ослеп. Пардон муа..
Добавлено: Пн дек 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 секунд сценарий автоматически выполнялся (если конечно окно не закрыть). Спасибо.
Опс - Извиняюсь, почти нашел ответ
здесь