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 

Имя папки на три уровня выше в групповом переименовании

 
Post new topic   Reply to topic    Total Commander Forum Index -> Автоматизация Total Commander printer-friendly view
View previous topic :: View next topic  
Author Message
mvrhtq



Joined: 31 Jan 2017
Posts: 4

Post (Separately) Posted: Tue Jan 31, 2017 21:05    Post subject: Имя папки на три уровня выше в групповом переименовании Reply with quote

Доброго времени суток.
При использовании инструмента группового переименования возникла потребность использовать имя родительского каталога на несколько уровней выше, а именно на уровень выше каталога [G]. Как это можно реализовать?


Last edited by mvrhtq on Tue Jan 31, 2017 22:10; edited 1 time in total
Back to top
View user's profile Send private message
Flasher



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

Post (Separately) Posted: Tue Jan 31, 2017 21:18    Post subject: Reply with quote

Маска: [=tc.Path]
Найти: \\([^\\]+)\\[^\\]+\\[^\\]+\\$
Заменить: $1
☑ Рег. выраж. ☑ Подстан.
_________________
Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой.


Last edited by Flasher on Tue Jan 31, 2017 21:58; edited 2 times in total
Back to top
View user's profile Send private message
mvrhtq



Joined: 31 Jan 2017
Posts: 4

Post (Separately) Posted: Tue Jan 31, 2017 21:37    Post subject: Reply with quote

Flasher
Вот этот вариант:
Code:
\\(.+)\\.+\\.+\\.+$

отображает имя каталога на два выше [G], т.е. "five" в пути five/four/three/two/one. Моя цель - переименовать "one", используя в его имени "four".

Этот вариант:
Code:
\\(.+)\\.+\\.+

отображает так: five/four/three. Как его укоротить до "four"?

Ну а вариант
Code:
\\([^\\]+)\\[^\\]+\\[^\\]+$

вообще не хочет работать Sad
Back to top
View user's profile Send private message
Flasher



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

Post (Separately) Posted: Tue Jan 31, 2017 21:43    Post subject: Reply with quote

mvrhtq
Косяк ТС. Лучше тогда без регулярок: [=tc.path:B-E]
Где B - номер первого символа имени нужной папки, а E - последнего.
C:\One\Two\Three\Four\Five = [tc.Path:12-16]
_________________
Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой.
Back to top
View user's profile Send private message
mvrhtq



Joined: 31 Jan 2017
Posts: 4

Post (Separately) Posted: Tue Jan 31, 2017 21:51    Post subject: Reply with quote

Flasher
Да, работает. Но дело в том, что я работаю не с одной общей папкой для всех, а с множеством папок, и у всех разное название и, соответственно, его длина. Общая для всех этих папок лишь структура five/four/three/two/one. В каждой есть "one", к ним я и пытаюсь применить групповое переименование.
Так что способ, завязанный на длине пути, не подходит Sad
Back to top
View user's profile Send private message
Flasher



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

Post (Separately) Posted: Tue Jan 31, 2017 21:58    Post subject: Reply with quote

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



Joined: 31 Jan 2017
Posts: 4

Post (Separately) Posted: Tue Jan 31, 2017 22:06    Post subject: Reply with quote

Flasher
Всё работает, большое спасибо за помощь! Rolling Eyes
Вопрос исчерпан.
Back to top
View user's profile Send private message
Вахмурка



Joined: 27 Dec 2004
Posts: 2478
Location: Большая деревня Москва

Post (Separately) Posted: Wed Feb 01, 2017 17:02    Post subject: Reply with quote

Да, исчерпан. Но суну свой пятачок...
_________________
Сайт PowerPro+Total Commander
Скрипты PowerPro для Total Commander
* * *
«Не усматривайте злого умысла в том, что вполне объяснимо глупостью» (Р. Хэнлон)
Back to top
View user's profile Send private message
sa



Joined: 29 Apr 2009
Posts: 2124

Post (Separately) Posted: Wed Feb 01, 2017 22:32    Post subject: Reply with quote

Вахмурка
Для тех, кто случайно не заметит в комментариях фразу о плагине, позволяющем вспоминать предков дальше второго колена, вот ещё старая тема со ссылкой на упомянутый тобой плагин FileX с полем для имени прадедушкина каталога [=filex.В подпапке папки] или [=filex.GtGrandPaDir].
Back to top
View user's profile Send private message
Вахмурка



Joined: 27 Dec 2004
Posts: 2478
Location: Большая деревня Москва

Post (Separately) Posted: Wed Feb 01, 2017 22:42    Post subject: Reply with quote

2sa
Это ты не мне адресуй, а топикстартеру, ведь
я, любимый wrote:
Но двигаться глубже в генеалогию файла не удается
поэтому скрипт - решение более универсальное.
Для желающих дойти до Адама (читай: корня), но при этом принципиальных противников PowerPro, есть более извращенный вариант: xxcopy с функцией flatten. Придется поковыряться с батниками и регулярками, но задача, думаю, решаемая
_________________
Сайт PowerPro+Total Commander
Скрипты PowerPro для Total Commander
* * *
«Не усматривайте злого умысла в том, что вполне объяснимо глупостью» (Р. Хэнлон)
Back to top
View user's profile Send private message
sa



Joined: 29 Apr 2009
Posts: 2124

Post (Separately) Posted: Wed Feb 01, 2017 22:59    Post subject: Reply with quote

Ну да, адресовал тебе, а написал "для тех". Sad
Просто я свой пятачок сунул в твоё корыто, у топикстартера уже всё решено, а ссылка может кому-то пригодится.
Одним словом, подписываюсь твоей подписью, что в кавычках.
Back to top
View user's profile Send private message
Flasher



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

Post (Separately) Posted: Wed Feb 01, 2017 23:10    Post subject: Reply with quote

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



Joined: 29 Apr 2009
Posts: 2124

Post (Separately) Posted: Wed Feb 01, 2017 23:24    Post subject: Reply with quote

Flasher wrote:
тема конкретно про ИГП

Намекаешь на то, что использование в ИГП плагинов, за исключением встроенного (tc), для решения задачи возбранялось?
Back to top
View user's profile Send private message
Flasher



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

Post (Separately) Posted: Wed Feb 01, 2017 23:29    Post subject: Reply with quote

Ни на что не намекаю. Про рамки ИГП и говорить нечего, речь о скриптах и обсуждении спецстраниц с ними.
_________________
Автору сборки 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 -> Автоматизация Total Commander All times are GMT + 4 Hours
Page 1 of 1

 
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