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 1, 2  Next
 
Post new topic   Reply to topic    Total Commander Forum Index -> Общие вопросы printer-friendly view
View previous topic :: View next topic  
Author Message
neketoz



Joined: 14 Feb 2017
Posts: 4
Location: Москва

Post (Separately) Posted: Tue Feb 14, 2017 17:00    Post subject: Выделение папок в зависимости от имен вложенных папок Reply with quote

Добрый день! Изгуглился весь, но видимо сформулировать запрос правильно не получается.

Есть несколько тысяч папок с разными названиями, но с похожей структурой вложенных папок:

11111/Архив/2016/
11112/Архив/2016/
11113/Архив/2017/
и т.д.

Моя задача перенести все папки (11111, 11112 и т.д.) с /2016/ в отдельное место, все папки с /2017/ - в отдельное и т.д.
Всю голову уже сломал как это исполнить.

Заранее спасибо за помощь
Back to top
View user's profile Send private message
MVV



Joined: 15 Oct 2009
Posts: 4811
Location: Ростов-Дон

Post (Separately) Posted: Tue Feb 14, 2017 17:27    Post subject: Reply with quote

Если идёт речь о переносе, и все папки 2016 переносятся в одну базовую папку, 2017 - в другую и т.д., то может быть проще сделать так:
1. Найти все папки 2016, 2017 и т.д.
2. С помощью инструмента переименования перенести их в нужную папку, используя паттерны [N], [P], [G] для подстановки имени самой папки и её ближайших надпапок. Если целевой путь для каждой папки можно представить этими паттернами, можно сделать это за одну операцию переименования, если нет - то по отдельности переносить сначала 2016, потом 2017 и т.д. Нужно помнить, что объединять одноимённые папки тотал тут не позволяет, разные папки 2016 должны в конечном счёте получать разные имена или помещаться в разные родительские папки.
_________________
TCFS2 + TCFS2Tools: Полноэкранный режим и многое другое (обсуждение)
WINCMD.RU: AskParam, CopyTree, NTLinks, Sudo, VirtualPanel…


Last edited by MVV on Tue Feb 14, 2017 17:31; edited 2 times in total
Back to top
View user's profile Send private message
Flasher



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

Post (Separately) Posted: Tue Feb 14, 2017 17:28    Post subject: Reply with quote

neketoz
Пример отдельных мест приведите.
И где в задаче хоть что-то про выделение?

MVV
Боюсь, ты ошибаешься. Там в скобках написано, какие папки нужно переносить.
_________________
Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой.


Last edited by Flasher on Tue Feb 14, 2017 17:30; edited 1 time in total
Back to top
View user's profile Send private message
neketoz



Joined: 14 Feb 2017
Posts: 4
Location: Москва

Post (Separately) Posted: Tue Feb 14, 2017 17:30    Post subject: Reply with quote

Flasher wrote:
Пример отдельных мест приведите.

И где в задаче хоть что-то про выделение?


В идеале выделить в корневой папке все, содержащие в себе папки 2016

/11111/Архив/2016 >>> Архив 2012-2016
/11112/Архив/2015 >>> Архив 2012-2016
/11113/Архив/2013 >>> Архив 2012-2016

/11114/Архив/2017 никуда не переносится и остается в исходной папке
Back to top
View user's profile Send private message
Flasher



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

Post (Separately) Posted: Tue Feb 14, 2017 17:35    Post subject: Reply with quote

Если речь о результатах поиска, то жмётся Num+, вставляется \2016\ с подтверждением.

Почему пишите прямой слеш вместо обратного? Это ftp что-ли?

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



Joined: 15 Oct 2009
Posts: 4811
Location: Ростов-Дон

Post (Separately) Posted: Tue Feb 14, 2017 17:37    Post subject: Reply with quote

Flasher,
Но если в папках 11111, 11112, ... есть только подпапка Архив с подпапкой с номером года, то перенос нижней подпапки с удалением верхней тоже будет решением задачи.

А если нет, то можно так:
1. Найти все папки 201[2-6] (регуляркой) или 2012 2013 2014 2015 2016 (без регулярки).
2. Скопировать имена в текстовый редактор и удалить часть с \Архив\201x\ из путей.
3. Через буфер обмена загрузить выделение...
_________________
TCFS2 + TCFS2Tools: Полноэкранный режим и многое другое (обсуждение)
WINCMD.RU: AskParam, CopyTree, NTLinks, Sudo, VirtualPanel…
Back to top
View user's profile Send private message
neketoz



Joined: 14 Feb 2017
Posts: 4
Location: Москва

Post (Separately) Posted: Tue Feb 14, 2017 17:53    Post subject: Reply with quote

Quote:
Если речь о результатах поиска, то жмётся Num+, вставляется \2016\ с подтверждением.


Нет, речь не о результатах поиска.


Quote:
Почему пишите прямой слеш вместо обратного? Это ftp что-ли?


Прошу прощения, привычка.


Попробую еще раз объяснить что нужно. Есть несколько тысяч папок, с другими папками и файлами внутри.
Исходя из того, архив какого года есть у них внутри, нужно их отсортировать по этому признаку (2012, 2013, 2014, 2015, 2016 или 2017) и иметь возможность переместить.
Переместить необходимо родительские папки (11111, 111112) со всем их содержимым.
Back to top
View user's profile Send private message
Flasher



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

Post (Separately) Posted: Tue Feb 14, 2017 18:07    Post subject: Reply with quote

А зачем их сортировать, если "архив" один и тот же?
neketoz wrote:
/11111/Архив/2016 >>> Архив 2012-2016
/11112/Архив/2015 >>> Архив 2012-2016

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



Joined: 14 Feb 2017
Posts: 4
Location: Москва

Post (Separately) Posted: Tue Feb 14, 2017 18:17    Post subject: Reply with quote

Quote:
Может, всё-таки нужны конкретные диапазоны годов? Например, 2017 сюда уже не вписывается.


Структура такова, что архива 2017 года еще нет, он появится только в начале 2018 года.

Quote:
А зачем их сортировать, если "архив" один и тот же?


Как раз для того, чтобы убрать все папки, не имеющие записей в 2017 году
Back to top
View user's profile Send private message
Flasher



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

Post (Separately) Posted: Tue Feb 14, 2017 18:44    Post subject: Reply with quote

neketoz
Папки 1111x в корне диска расположены?

P.S.: Не стоит такие отступы делать и забывать про точки.

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



Joined: 29 Apr 2009
Posts: 2563

Post (Separately) Posted: Tue Feb 14, 2017 20:44    Post subject: Reply with quote

neketoz
Можно поиском (Alt+F7) найти нужные папки, вывести их на панель, а затем переместить плагином CopyTree. Он позволяет сохранять иерархию каталогов при копировании или перемещении файлов относительно выбранного уровня.
Back to top
View user's profile Send private message
Flasher



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

Post (Separately) Posted: Tue Feb 14, 2017 20:50    Post subject: Reply with quote

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



Joined: 16 Aug 2005
Posts: 1513
Location: Санкт-Петербург

Post (Separately) Posted: Mon Feb 20, 2017 00:46    Post subject: Reply with quote

neketoz
Давно известная проблема тотала состоит в том, что он не позволяет вменяемо выделить папки в зависимости от их содержимого (а также найти их или сформировать поля для колонок).
Были плагины FileInDir и EmptyWDX для работы с папками в зависимости от имён или содержимого файлов внутри них. EmptyWDX по ссылке (но не версия на сайте wincmd.ru) поддерживает любую вложенность файлов. Но конфигурировать строку поиска придётся через инишник:
Code:
[WDXContains]
;x_filter support wildcards and many patterns, separated by pipe |
;up to 20 filters supported
1_filter=2017
1_IsRegexp=0
;0 (default) returns boolean, 1 - string (X)
1_type=0
;fields name (Filter X by default)
1_Name=2017
;(default) .. xxxx Maximum number of folder to be checked in case of "recursive" search using
1_Max=2

Поиск в упоминавшейся здесь структуре папок выдаст искомые папки И папки "Архив" в них, но последние легко фильтруются.
Back to top
View user's profile Send private message
SEREGA88



Joined: 01 Feb 2017
Posts: 6
Location: Воронеж

Post (Separately) Posted: Sun Mar 05, 2017 12:11    Post subject: Reply with quote

Как найти папки по имени вложенного в них файла, с выводом на панель списка папок, используя плагин EmptyWDX 0.0.2?
Back to top
View user's profile Send private message
Flasher



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

Post (Separately) Posted: Sun Mar 05, 2017 12:41    Post subject: Reply with quote

SEREGA88
Лучше обновиться.
Установить:
EmptyWDX.ini wrote:
[WDXContains]
_filter=<имя файла.ext>
_Name=<Название поля>
Выполнить cm_UnloadPlugins.
Начать поиск с выбором поля и булевым "Да".

См. FileMask, там настройка в одну строку, но выбор поля для маски там берётся не из списка "Поле:", а из доп. правого крайнего.
Поле: DirMask; Операция: =; Значение: 1.
_________________
Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой.
Back to top
View user's profile Send private message
Display posts from previous:   
Post new topic   Reply to topic    Total Commander Forum Index -> Общие вопросы All times are GMT + 4 Hours
Goto page 1, 2  Next
Page 1 of 2

 
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