Создание каталогов и сортировка файлов по ним
Select messages from
# through # FAQ
[/[Print]\]
Goto page 1, 2  Next  :| |:
Total Commander -> Автоматизация Total Commander

#1: Создание каталогов и сортировка файлов по ним Author: MaxaSamAtman PostPosted: Mon Dec 13, 2010 18:53
    —
Здравствуйте.
Имеется папка с более чем 1000 файлов.
пример

Надо их рассортировать вот-так
пример


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

#2:  Author: ВахмуркаLocation: Большая деревня Москва PostPosted: Mon Dec 13, 2010 19:08
    —
Сейчас придут Batya и Tol!k и будут соревноваться - кто быстрее напишет скрипт vbs или батник соответственно. А пока они не пришли:
- число символов до и после дефиса одинаково?
- скрипт PowerPro устроит? Если да, то чур я буду третий соревноваться. Wink

#3:  Author: BatyaLocation: Москва, Россия PostPosted: Mon Dec 13, 2010 19:13
    —
Вахмурка wrote:
Сейчас придут Batya и Tol!k и будут соревноваться - кто быстрее напишет скрипт vbs или батник соответственно.

Не будут!

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

#4:  Author: ВахмуркаLocation: Большая деревня Москва PostPosted: Mon Dec 13, 2010 19:17
    —
Я так понял, что красная стрелочка означает "копировать/переместить в...".

MaxaSamAtman, поясни.

#5:  Author: MVVLocation: Ростов-Дон PostPosted: Mon Dec 13, 2010 19:29
    —
Если переместить выделенные файлы в подпапки, названные по первым 6 символам имени, то простейший бат-файл:
Code:
@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%

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

#6:  Author: MaxaSamAtman PostPosted: Mon Dec 13, 2010 20:20
    —
Вахмурка wrote:
Я так понял, что красная стрелочка означает "копировать/переместить в...".

MaxaSamAtman, поясни.


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

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

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

#7:  Author: FlasherLocation: Москва PostPosted: Mon Dec 13, 2010 21:19
    —
MaxaSamAtman wrote:
что-то не работает
MVV просто не обратил внимание на название топика и забыл включить в батник создание самих папок. Чуток надо подождать, исправит. Wink
Этот же будет работать, если подобные папки уже находятся в одном каталоге с файлами.

#8:  Author: hit69 PostPosted: Mon Dec 13, 2010 22:14
    —
Flasher wrote:
MaxaSamAtman wrote:
что-то не работает
MVV просто не обратил внимание на название топика и забыл включить в батник создание самих папок. Чуток надо подождать, исправит. Wink
Этот же будет работать, если подобные папки уже находятся в одном каталоге с файлами.

однако все равно не работает)))
и так и сяк...
я так понял, скрипт должен по первым 6 символам в названии файлов создать папки с такими названиями, далее файлы с одинаковыми первыми 6ю символами перемещаются в папку созданную "под них".

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

#9:  Author: MVVLocation: Ростов-Дон PostPosted: Mon Dec 13, 2010 22:31
    —
Flasher wrote:
MaxaSamAtman wrote:
что-то не работает
MVV просто не обратил внимание на название топика и забыл включить в батник создание самих папок. Чуток надо подождать, исправит. Wink
Этот же будет работать, если подобные папки уже находятся в одном каталоге с файлами.

А ты хоть пробовал батник? Эта его строчка тебе о чем-нибудь говорит?
Code:
if not exist %$foldername% md %$foldername%
Very Happy

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

Дык кому написано, что нужно указать параметр %WF? Wink Зайди в свойства кнопки и пропиши там в строке параметров. Да, еще важное замечание - поле рабочей папки в свойствах кнопки необходимо очистить.


Last edited by MVV on Mon Dec 13, 2010 22:43; edited 1 time in total

#10:  Author: FlasherLocation: Москва PostPosted: Mon Dec 13, 2010 22:37
    —
MVV wrote:
А ты хоть пробовал батник?
Не стал, просто оценил код мельком. Smile
MVV wrote:
Эта его строчка тебе о чем-нибудь говорит?
Shocked Ослеп. Пардон муа..

#11:  Author: hit69 PostPosted: Mon Dec 13, 2010 22:51
    —
все работает...Wink ребят, а фильтр сюда можно прикрутить?
к примеру исходные файлы *.raw остаются, а перемещаются только к примеру *.jpg или *.psd


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

#12:  Author: MaxaSamAtman PostPosted: Mon Dec 13, 2010 23:04
    —
всем пасиб, все супер

#13:  Author: MVVLocation: Ростов-Дон PostPosted: Mon Dec 13, 2010 23:35
    —
hit69 wrote:
все работает...Wink ребят, а фильтр сюда можно прикрутить?
к примеру исходные файлы *.raw остаются, а перемещаются только к примеру *.jpg или *.psd


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

#14:  Author: BatyaLocation: Москва, Россия PostPosted: Tue Dec 14, 2010 00:32
    —
Ну, раз речь идёт не о сортировке, а о перемещении, то можно воспользоваться либо этим скриптом, либо этим (с параметрами %L "%P" 22 "-" ).

#15:  Author: shveicarLocation: Россия Москва PostPosted: Thu May 03, 2012 21:50
    —
Здравствуйте
Что нужно добавить в батник, чтобы файлы перемещались на противоположную панель, в существующие папки. (с ориентиром по количеству символов все понятно). И еще один момент: после запуска батника появляется надпись нажмите любую клавишу.. Как сделать чтобы через 5 секунд сценарий автоматически выполнялся (если конечно окно не закрыть). Спасибо.
Опс - Извиняюсь, почти нашел ответ
здесь



Total Commander -> Автоматизация Total Commander


output generated using printer-friendly topic mod. All times are GMT + 4 Hours

Goto page 1, 2  Next  :| |:
Page 1 of 2

Powered by phpBB © 2001, 2005 phpBB Group