Страница 1 из 1
Имя папки на три уровня выше в групповом переименовании
Добавлено: Вт янв 31, 2017 20:05
mvrhtq
Доброго времени суток.
При использовании инструмента группового переименования возникла потребность использовать имя родительского каталога на несколько уровней выше, а именно на уровень выше каталога [G]. Как это можно реализовать?
Добавлено: Вт янв 31, 2017 20:18
Flasher
Маска: [=tc.Path]
Найти: \\([^\\]+)\\[^\\]+\\[^\\]+\\$
Заменить: $1
☑ Рег. выраж. ☑ Подстан.
Добавлено: Вт янв 31, 2017 20:37
mvrhtq
Flasher
Вот этот вариант:
отображает имя каталога на два выше [G], т.е. "five" в пути five/four/three/two/one. Моя цель - переименовать "one", используя в его имени "four".
Этот вариант:
отображает так: five/four/three. Как его укоротить до "four"?
Ну а вариант
вообще не хочет работать

Добавлено: Вт янв 31, 2017 20:43
Flasher
mvrhtq
Косяк ТС. Лучше тогда без регулярок: [=tc.path:B-E]
Где B - номер первого символа имени нужной папки, а E - последнего.
C:\One\Two\Three\Four\Five = [tc.Path:12-16]
Добавлено: Вт янв 31, 2017 20:51
mvrhtq
Flasher
Да, работает. Но дело в том, что я работаю не с одной общей папкой для всех, а с множеством папок, и у всех разное название и, соответственно, его длина. Общая для всех этих папок лишь структура five/four/three/two/one. В каждой есть "one", к ним я и пытаюсь применить групповое переименование.
Так что способ, завязанный на длине пути, не подходит

Добавлено: Вт янв 31, 2017 20:58
Flasher
mvrhtq
Ага. ИГП же нам не показывает, что возвращает путь с бэкслешем на конце. Добавил в первый пример.
Добавлено: Вт янв 31, 2017 21:06
mvrhtq
Flasher
Всё работает, большое спасибо за помощь!
Вопрос исчерпан.
Добавлено: Ср фев 01, 2017 16:02
Вахмурка
Да, исчерпан. Но суну свой
пятачок...
Добавлено: Ср фев 01, 2017 21:32
sa
Вахмурка
Для тех, кто случайно не заметит в комментариях фразу о плагине, позволяющем вспоминать предков дальше второго колена, вот ещё старая
тема со ссылкой на упомянутый тобой плагин FileX с полем для имени прадедушкина каталога [=filex.В подпапке папки] или [=filex.GtGrandPaDir].
Добавлено: Ср фев 01, 2017 21:42
Вахмурка
2
sa
Это ты не мне адресуй, а топикстартеру, ведь
я, любимый писал(а):Но двигаться глубже в генеалогию файла не удается
поэтому скрипт - решение более универсальное.
Для желающих дойти до Адама (читай: корня), но при этом принципиальных противников PowerPro, есть более извращенный вариант:
xxcopy с функцией flatten. Придется поковыряться с батниками и регулярками, но задача, думаю, решаемая
Добавлено: Ср фев 01, 2017 21:59
sa
Ну да, адресовал тебе, а написал "для тех".
Просто я свой пятачок сунул в твоё корыто, у топикстартера уже всё решено, а ссылка может кому-то пригодится.
Одним словом, подписываюсь твоей подписью, что в кавычках.
Добавлено: Ср фев 01, 2017 22:10
Flasher
Вахмурка
sa
А ничего, что тема конкретно про ИГП?
Иначе с моей стороны результат мог бы быть тоже возведён в несколько иные рамки.
Добавлено: Ср фев 01, 2017 22:24
sa
Flasher писал(а):тема конкретно про ИГП
Намекаешь на то, что использование в ИГП плагинов, за исключением встроенного (tc), для решения задачи возбранялось?
Добавлено: Ср фев 01, 2017 22:29
Flasher
Ни на что не намекаю. Про рамки ИГП и говорить нечего, речь о скриптах и обсуждении спецстраниц с ними.