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

Обсуждение вопросов автоматизации Total Commander с помощью сторонних программ и скриптовых технологий.

Модераторы: d-view, Моторокер, Avada, CaptainFlint, Nik

Ответить
Аватара пользователя
mvrhtq
Сообщения: 4
Зарегистрирован: Вт янв 31, 2017 20:02

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

Сообщение mvrhtq »

Доброго времени суток.
При использовании инструмента группового переименования возникла потребность использовать имя родительского каталога на несколько уровней выше, а именно на уровень выше каталога [G]. Как это можно реализовать?
Последний раз редактировалось mvrhtq Вт янв 31, 2017 21:10, всего редактировалось 1 раз.
Аватара пользователя
Flasher
Сообщения: 14229
Зарегистрирован: Пт ноя 06, 2009 00:33
Откуда: Москва

Сообщение Flasher »

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

Сообщение mvrhtq »

Flasher
Вот этот вариант:

Код: Выделить всё

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

Этот вариант:

Код: Выделить всё

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

Ну а вариант

Код: Выделить всё

\\([^\\]+)\\[^\\]+\\[^\\]+$ 
вообще не хочет работать :(
Аватара пользователя
Flasher
Сообщения: 14229
Зарегистрирован: Пт ноя 06, 2009 00:33
Откуда: Москва

Сообщение Flasher »

mvrhtq
Косяк ТС. Лучше тогда без регулярок: [=tc.path:B-E]
Где B - номер первого символа имени нужной папки, а E - последнего.
C:\One\Two\Three\Four\Five = [tc.Path:12-16]
Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой.
Аватара пользователя
mvrhtq
Сообщения: 4
Зарегистрирован: Вт янв 31, 2017 20:02

Сообщение mvrhtq »

Flasher
Да, работает. Но дело в том, что я работаю не с одной общей папкой для всех, а с множеством папок, и у всех разное название и, соответственно, его длина. Общая для всех этих папок лишь структура five/four/three/two/one. В каждой есть "one", к ним я и пытаюсь применить групповое переименование.
Так что способ, завязанный на длине пути, не подходит :(
Аватара пользователя
Flasher
Сообщения: 14229
Зарегистрирован: Пт ноя 06, 2009 00:33
Откуда: Москва

Сообщение Flasher »

mvrhtq
Ага. ИГП же нам не показывает, что возвращает путь с бэкслешем на конце. Добавил в первый пример.
Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой.
Аватара пользователя
mvrhtq
Сообщения: 4
Зарегистрирован: Вт янв 31, 2017 20:02

Сообщение mvrhtq »

Flasher
Всё работает, большое спасибо за помощь! :roll:
Вопрос исчерпан.
Аватара пользователя
Вахмурка
Сообщения: 2587
Зарегистрирован: Пн дек 27, 2004 14:47
Откуда: Большая деревня Москва
Контактная информация:

Сообщение Вахмурка »

Да, исчерпан. Но суну свой пятачок...
Сайт PowerPro+Total Commander
Скрипты PowerPro для Total Commander
* * *
«Не усматривайте злого умысла в том, что вполне объяснимо глупостью» (Р. Хэнлон)
sa
Сообщения: 2758
Зарегистрирован: Ср апр 29, 2009 18:56

Сообщение sa »

Вахмурка
Для тех, кто случайно не заметит в комментариях фразу о плагине, позволяющем вспоминать предков дальше второго колена, вот ещё старая тема со ссылкой на упомянутый тобой плагин FileX с полем для имени прадедушкина каталога [=filex.В подпапке папки] или [=filex.GtGrandPaDir].
Аватара пользователя
Вахмурка
Сообщения: 2587
Зарегистрирован: Пн дек 27, 2004 14:47
Откуда: Большая деревня Москва
Контактная информация:

Сообщение Вахмурка »

2sa
Это ты не мне адресуй, а топикстартеру, ведь
я, любимый писал(а):Но двигаться глубже в генеалогию файла не удается
поэтому скрипт - решение более универсальное.
Для желающих дойти до Адама (читай: корня), но при этом принципиальных противников PowerPro, есть более извращенный вариант: xxcopy с функцией flatten. Придется поковыряться с батниками и регулярками, но задача, думаю, решаемая
Сайт PowerPro+Total Commander
Скрипты PowerPro для Total Commander
* * *
«Не усматривайте злого умысла в том, что вполне объяснимо глупостью» (Р. Хэнлон)
sa
Сообщения: 2758
Зарегистрирован: Ср апр 29, 2009 18:56

Сообщение sa »

Ну да, адресовал тебе, а написал "для тех". :(
Просто я свой пятачок сунул в твоё корыто, у топикстартера уже всё решено, а ссылка может кому-то пригодится.
Одним словом, подписываюсь твоей подписью, что в кавычках.
Аватара пользователя
Flasher
Сообщения: 14229
Зарегистрирован: Пт ноя 06, 2009 00:33
Откуда: Москва

Сообщение Flasher »

Вахмурка
sa
А ничего, что тема конкретно про ИГП?
Иначе с моей стороны результат мог бы быть тоже возведён в несколько иные рамки.
Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой.
sa
Сообщения: 2758
Зарегистрирован: Ср апр 29, 2009 18:56

Сообщение sa »

Flasher писал(а):тема конкретно про ИГП
Намекаешь на то, что использование в ИГП плагинов, за исключением встроенного (tc), для решения задачи возбранялось?
Аватара пользователя
Flasher
Сообщения: 14229
Зарегистрирован: Пт ноя 06, 2009 00:33
Откуда: Москва

Сообщение Flasher »

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