Перемещение нужного количества файлов по папкам
Select messages from
# through # FAQ
[/[Print]\]
Goto page Previous  1, 2, 3, 4, 5, 6, 7, 8, 9  Next  :| |:
Total Commander -> Автоматизация Total Commander

#76:  Author: Hjkma PostPosted: Mon Oct 09, 2017 15:54
    —
3 года пользуюсь этим скриптом для перемещения нужного количества файлов по папкам, за все это время в процессе регулярного пользования выработались новые хотелки, которых совсем недостает. Хотелось бы новые модификации в скрипт, буду очень благодарен, если кто сможет сделать. Что конкретно нужно:
1) Чтобы можно было выделять папки и после запуска скрипта файлы в этих папках должны сами перемещаться в создаваемые подпапки. Формат названий этих подпапок должен быть таким (без квадратных скобок):
[Имя родительской папки] - [Номер счетчика]
Например, есть папки FolderOne и FolderTwo с несколькими текстовыми файлами внутри.
Структура путей выглядит так:
d:\FolderOne\1.txt
d:\FolderOne\2.txt
d:\FolderTwo\1.txt
d:\FolderTwo\2.txt
После выделения папок FolderOne и FolderTwo и запуска скрипта структура путей после перемещения файлов должна выглядеть так:
d:\FolderOne\FolderOne - 1\1.txt
d:\FolderOne\FolderOne - 1\2.txt
d:\FolderTwo\FolderTwo - 1\1.txt
d:\FolderTwo\FolderTwo - 1\2.txt
Ну и разумеется, если число файлов в папке больше чем заданное число перемещаемых файлов в параметрах скрипта, то должны еще создаться другие папки (как это делает данный вариант скрипта) с таким же форматом названия, но с следующим номером счетчика.
2) Скрипт должен уметь работать с длинными путями файлов.
3) Скрипт должен уметь работать с любыми символами и буквами разных алфавитов (уже умеет, если добавить данную правку)
4) Чтобы можно было в параметрах прописать Move для операции перемещения или Copy для операции копирования (сейчас это можно, если редактировать сам скрипт, меняя Copy на Move или наоборот).
5) По умолчанию перемещение и копирование должно происходить в режиме сортировки по убыванию, т.е. перемещаются первыми файлы, которые идут первыми в панели Тотала в режиме сортировки по убыванию.

#77:  Author: FlasherLocation: Москва PostPosted: Tue Oct 10, 2017 04:46
    —
Hjkma wrote:
которые идут первыми в панели Тотала в режиме сортировки по убыванию.
На vbs-е это вряд ли получится. Лучше заведомо знать, какая сортировка (например, по именному убыванию).

#78:  Author: Hjkma PostPosted: Tue Oct 10, 2017 07:47
    —
Flasher
Да, по именному убыванию (чтобы сначала шли o,n,m,l и 11,10,9,8 и так далее).

#79:  Author: FlasherLocation: Москва PostPosted: Tue Oct 10, 2017 18:23
    —
Hjkma
Вообще обработка выбранных папок — это, считай, отдельный скрипт, а не модификация существующего, где ситуация касалась именно выбранных файлов. Файлы-то надо игнорировать?

#80:  Author: Hjkma PostPosted: Tue Oct 10, 2017 19:04
    —
Flasher
Если речь о выделенных файлов, то в принципе я буду выделять только папки до запуска скрипта и все. А если будут выделенные файлы, то их игнорировать и заниматься только обработкой выделенных папок. И еще забыл об одном условии. Если в выделенных папках имеются еще вложенные папки, то хотелось бы, чтобы они не перемещались вместе с файлами в новые папки, а оставались на месте, их скрипт не должен трогать, перемещаться должны только файлы.

#81:  Author: FlasherLocation: Москва PostPosted: Tue Oct 10, 2017 19:24
    —
Hjkma
Т.е. речь идёт о файлах на первом уровне глубины?
А что насчёт потенциальных совпадений?

#82:  Author: Hjkma PostPosted: Tue Oct 10, 2017 19:34
    —
Flasher
Quote:
Т.е. речь идёт о файлах на первом уровне глубины?

Первый уровень глубины - это внутри выделяемых папок? Если да, то да, файлы на таком уровне и должны перемещаться.
Quote:
А что насчёт потенциальных совпадений?

Если речь о совпадений названий файлов, то такого не может быть, потому что в одной папке не могут быть две файлы с одинаковым названием. А если речь о формате названий папок, то вряд ли у меня есть вложенные папки, которые уже имеют такие названия такого формата ([Имя родительской папки - [Номер счетчика]). А если есть такие такие или будут такие (например, если спустя некоторого времени нужно будет снова провести операцию на той же папке), то скрипт пусть не перемещает файлы в них, а создает еще новые папки, к ними в названиях можно прикрутить следующий счетчик или что-нибудь другое использовать.

P.S. Ухожу сейчас в офф, если будет скрипт, протестировать смогу только завтра.

#83:  Author: FlasherLocation: Москва PostPosted: Wed Oct 11, 2017 12:01
    —
Hjkma wrote:
т.е. перемещаются первыми файлы, которые идут первыми в панели Тотала
Вообще-то файлов мы не видим, они в папках. Если сортировать в обратном порядке, то при делении на 2 и Rank = 0 получится:
Было:
d:\FolderOne\1.txt
d:\FolderOne\2.txt
d:\FolderOne\3.txt
d:\FolderOne\4.txt
d:\FolderOne\5.txt

Стало:
d:\FolderOne\FolderOne - 1\5.txt
d:\FolderOne\FolderOne - 1\4.txt
d:\FolderOne\FolderOne - 2\3.txt
d:\FolderOne\FolderOne - 2\2.txt
d:\FolderOne\FolderOne - 3\1.txt

Так и надо?

#84:  Author: Hjkma PostPosted: Wed Oct 11, 2017 12:13
    —
Flasher
Да, так и должно выглядеть, если значение количества перемещаемых файлов по папкам в параметрах выставлено на 2.

#85:  Author: FlasherLocation: Москва PostPosted: Wed Oct 11, 2017 12:22
    —
Hjkma
А какая польза от того, что подпапки будут с прямой сортировкой, а файлы в них с обратной?

#86:  Author: Hjkma PostPosted: Wed Oct 11, 2017 12:38
    —
Flasher
Есть много скаченных изображений с одного сайта, названия у них выставлены в формате YYYYMMDDHHMMSS (плюс кое-чего после) и это дата заливки на сервер, нужно просматривать от самых свежих до самых старых, сортировка по именному убыванию выставляет нужный режим просмотра от свежих до старых (это касается не только Тотала, а еще просмотрщиков изображений, где можно включать такую сортировку). А по поводу подпапок с прямой сортировкой, если речь идет о номере счетчика, то папки с первыми номерами счетчика содержат как раз файлы с свежими датами заливки на сервер, собственно папки с последующими номерами счетчика содержат все более старые изображения, поэтому открывая папки с первыми номерами счетчика я сразу перейду к самым свежим изображениям. Почему нужны самые эти подпапки с номером счетчика, да просто потому что таких изображений много, не осилю их всех за один сеанс просмотра, поэтому для меня удобнее просто разбить все файлы на подпапки с нужным количеством файлов в них, которых сумею осилить за один раз, и за один день просматривать только одну папку, а после этого удалить её и на завтра переходить к следующему каталогу с следующим номером счетчика. Речь идет о тысячах изображениях, поэтому нужен скрипт (скрипт 7 годичной давности делает нужную мне работу, но не хватает еще нужных функций). Как-то так.

#87:  Author: FlasherLocation: Москва PostPosted: Wed Oct 11, 2017 12:49
    —
Hjkma wrote:
поэтому открывая папки с первыми номерами счетчика я сразу перейду к самым свежим изображениям
При обратной именной сортировке, о которой идёт речь, — нет. В том-то и дело.

#88:  Author: Hjkma PostPosted: Wed Oct 11, 2017 13:01
    —
Flasher
Может неправильно как-то описал условия, может в чем-то запутался, но не понял в чем. Попробую показать как я работаю с скриптом 7 годичной давности. Сперва я выставляю в Тотале режим сортировки по убыванию, выделяю все файлы, запускаю скрипт и после этого создаются папки 001, 002, 003 и так далее и в папках с первыми номерами в названиях как раз содержатся файлы, которые стоят первыми в режиме сортировки по убыванию. Вот это и мне нужно, но уже с тем условием чтобы не нужно было заходить в каждую папку с режимом сортировки по убыванию, выделять все файлы и запускать скрипт, а достаточно выделять папки и запустить скрипт и он сам все перемещает файлы так нужно, как в приведенных примерах структур путей.

#89:  Author: FlasherLocation: Москва PostPosted: Wed Oct 11, 2017 13:11
    —
Hjkma wrote:
которые стоят первыми в режиме сортировки по убыванию
Ну, как же они могут стоять первыми в режиме отображения папок по убыванию (003, 002, 001)? Это нелогично.

#90:  Author: Hjkma PostPosted: Wed Oct 11, 2017 13:16
    —
Flasher
Сортировку по убыванию включаю только чтобы скрипт распределял файлы как мне нужно, после того как скрипт завершает работу и все файлы перемещаются в новые папки и в папке остаются только подпапки, я меняю сортировку чтобы уже эти папки рассортировались нормально по порядку.


Last edited by Hjkma on Wed Oct 11, 2017 13:20; edited 1 time in total



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


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

Goto page Previous  1, 2, 3, 4, 5, 6, 7, 8, 9  Next  :| |:
Page 6 of 9

Powered by phpBB © 2001, 2005 phpBB Group