Total Commander Forum Index Total Commander
Форум поддержки пользователей Total Commander
Сайты: Все о Total Commander | Totalcmd.net | Ghisler.com | RU.TCKB
 
 RulesRules   SearchSearch   FAQFAQ   MemberlistMemberlist   UsergroupsUsergroups   RegisterRegister 
 ProfileProfile   Log in to check your private messagesLog in to check your private messages   Log inLog in 

Перемещение нужного количества файлов по папкам
Goto page Previous  1, 2, 3, 4, 5, 6, 7, 8  Next
 
Post new topic   Reply to topic    Total Commander Forum Index -> Автоматизация Total Commander printer-friendly view
View previous topic :: View next topic  
Author Message
Hjkma



Joined: 18 Apr 2015
Posts: 167

Post (Separately) Posted: Mon Oct 09, 2017 15:54    Post subject: Reply with quote

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) По умолчанию перемещение и копирование должно происходить в режиме сортировки по убыванию, т.е. перемещаются первыми файлы, которые идут первыми в панели Тотала в режиме сортировки по убыванию.
Back to top
View user's profile Send private message
Flasher



Joined: 06 Nov 2009
Posts: 12863
Location: Москва

Post (Separately) Posted: Tue Oct 10, 2017 04:46    Post subject: Reply with quote

Hjkma wrote:
которые идут первыми в панели Тотала в режиме сортировки по убыванию.
На vbs-е это вряд ли получится. Лучше заведомо знать, какая сортировка (например, по именному убыванию).
_________________
Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой.
Back to top
View user's profile Send private message
Hjkma



Joined: 18 Apr 2015
Posts: 167

Post (Separately) Posted: Tue Oct 10, 2017 07:47    Post subject: Reply with quote

Flasher
Да, по именному убыванию (чтобы сначала шли o,n,m,l и 11,10,9,8 и так далее).
Back to top
View user's profile Send private message
Flasher



Joined: 06 Nov 2009
Posts: 12863
Location: Москва

Post (Separately) Posted: Tue Oct 10, 2017 18:23    Post subject: Reply with quote

Hjkma
Вообще обработка выбранных папок — это, считай, отдельный скрипт, а не модификация существующего, где ситуация касалась именно выбранных файлов. Файлы-то надо игнорировать?
_________________
Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой.
Back to top
View user's profile Send private message
Hjkma



Joined: 18 Apr 2015
Posts: 167

Post (Separately) Posted: Tue Oct 10, 2017 19:04    Post subject: Reply with quote

Flasher
Если речь о выделенных файлов, то в принципе я буду выделять только папки до запуска скрипта и все. А если будут выделенные файлы, то их игнорировать и заниматься только обработкой выделенных папок. И еще забыл об одном условии. Если в выделенных папках имеются еще вложенные папки, то хотелось бы, чтобы они не перемещались вместе с файлами в новые папки, а оставались на месте, их скрипт не должен трогать, перемещаться должны только файлы.
Back to top
View user's profile Send private message
Flasher



Joined: 06 Nov 2009
Posts: 12863
Location: Москва

Post (Separately) Posted: Tue Oct 10, 2017 19:24    Post subject: Reply with quote

Hjkma
Т.е. речь идёт о файлах на первом уровне глубины?
А что насчёт потенциальных совпадений?
_________________
Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой.
Back to top
View user's profile Send private message
Hjkma



Joined: 18 Apr 2015
Posts: 167

Post (Separately) Posted: Tue Oct 10, 2017 19:34    Post subject: Reply with quote

Flasher
Quote:
Т.е. речь идёт о файлах на первом уровне глубины?

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

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

P.S. Ухожу сейчас в офф, если будет скрипт, протестировать смогу только завтра.
Back to top
View user's profile Send private message
Flasher



Joined: 06 Nov 2009
Posts: 12863
Location: Москва

Post (Separately) Posted: Wed Oct 11, 2017 12:01    Post subject: Reply with quote

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

Так и надо?
_________________
Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой.
Back to top
View user's profile Send private message
Hjkma



Joined: 18 Apr 2015
Posts: 167

Post (Separately) Posted: Wed Oct 11, 2017 12:13    Post subject: Reply with quote

Flasher
Да, так и должно выглядеть, если значение количества перемещаемых файлов по папкам в параметрах выставлено на 2.
Back to top
View user's profile Send private message
Flasher



Joined: 06 Nov 2009
Posts: 12863
Location: Москва

Post (Separately) Posted: Wed Oct 11, 2017 12:22    Post subject: Reply with quote

Hjkma
А какая польза от того, что подпапки будут с прямой сортировкой, а файлы в них с обратной?
_________________
Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой.
Back to top
View user's profile Send private message
Hjkma



Joined: 18 Apr 2015
Posts: 167

Post (Separately) Posted: Wed Oct 11, 2017 12:38    Post subject: Reply with quote

Flasher
Есть много скаченных изображений с одного сайта, названия у них выставлены в формате YYYYMMDDHHMMSS (плюс кое-чего после) и это дата заливки на сервер, нужно просматривать от самых свежих до самых старых, сортировка по именному убыванию выставляет нужный режим просмотра от свежих до старых (это касается не только Тотала, а еще просмотрщиков изображений, где можно включать такую сортировку). А по поводу подпапок с прямой сортировкой, если речь идет о номере счетчика, то папки с первыми номерами счетчика содержат как раз файлы с свежими датами заливки на сервер, собственно папки с последующими номерами счетчика содержат все более старые изображения, поэтому открывая папки с первыми номерами счетчика я сразу перейду к самым свежим изображениям. Почему нужны самые эти подпапки с номером счетчика, да просто потому что таких изображений много, не осилю их всех за один сеанс просмотра, поэтому для меня удобнее просто разбить все файлы на подпапки с нужным количеством файлов в них, которых сумею осилить за один раз, и за один день просматривать только одну папку, а после этого удалить её и на завтра переходить к следующему каталогу с следующим номером счетчика. Речь идет о тысячах изображениях, поэтому нужен скрипт (скрипт 7 годичной давности делает нужную мне работу, но не хватает еще нужных функций). Как-то так.
Back to top
View user's profile Send private message
Flasher



Joined: 06 Nov 2009
Posts: 12863
Location: Москва

Post (Separately) Posted: Wed Oct 11, 2017 12:49    Post subject: Reply with quote

Hjkma wrote:
поэтому открывая папки с первыми номерами счетчика я сразу перейду к самым свежим изображениям
При обратной именной сортировке, о которой идёт речь, — нет. В том-то и дело.
_________________
Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой.
Back to top
View user's profile Send private message
Hjkma



Joined: 18 Apr 2015
Posts: 167

Post (Separately) Posted: Wed Oct 11, 2017 13:01    Post subject: Reply with quote

Flasher
Может неправильно как-то описал условия, может в чем-то запутался, но не понял в чем. Попробую показать как я работаю с скриптом 7 годичной давности. Сперва я выставляю в Тотале режим сортировки по убыванию, выделяю все файлы, запускаю скрипт и после этого создаются папки 001, 002, 003 и так далее и в папках с первыми номерами в названиях как раз содержатся файлы, которые стоят первыми в режиме сортировки по убыванию. Вот это и мне нужно, но уже с тем условием чтобы не нужно было заходить в каждую папку с режимом сортировки по убыванию, выделять все файлы и запускать скрипт, а достаточно выделять папки и запустить скрипт и он сам все перемещает файлы так нужно, как в приведенных примерах структур путей.
Back to top
View user's profile Send private message
Flasher



Joined: 06 Nov 2009
Posts: 12863
Location: Москва

Post (Separately) Posted: Wed Oct 11, 2017 13:11    Post subject: Reply with quote

Hjkma wrote:
которые стоят первыми в режиме сортировки по убыванию
Ну, как же они могут стоять первыми в режиме отображения папок по убыванию (003, 002, 001)? Это нелогично.
_________________
Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой.
Back to top
View user's profile Send private message
Hjkma



Joined: 18 Apr 2015
Posts: 167

Post (Separately) Posted: Wed Oct 11, 2017 13:16    Post subject: Reply with quote

Flasher
Сортировку по убыванию включаю только чтобы скрипт распределял файлы как мне нужно, после того как скрипт завершает работу и все файлы перемещаются в новые папки и в папке остаются только подпапки, я меняю сортировку чтобы уже эти папки рассортировались нормально по порядку.


Last edited by Hjkma on Wed Oct 11, 2017 13:20; edited 1 time in total
Back to top
View user's profile Send private message
Display posts from previous:   
Post new topic   Reply to topic    Total Commander Forum Index -> Автоматизация Total Commander All times are GMT + 4 Hours
Goto page Previous  1, 2, 3, 4, 5, 6, 7, 8  Next
Page 6 of 8

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum


Powered by phpBB © 2001, 2005 phpBB Group