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 -> Автоматизация Total Commander printer-friendly view
View previous topic :: View next topic  
Author Message
johngray



Joined: 21 Mar 2009
Posts: 5

Post (Separately) Posted: Fri Apr 06, 2012 14:23    Post subject: Переименование файлов именами их директорий Reply with quote

Столкнулся с проблемой:
Есть общая директория, в ней 5 каталогов, в каждом из которых, по сотне подкаталогов, в которых находятся от 1 до 30 файлов (сканированные изображения) с одинаковыми именами (как сканировали, изначально в каждый каталог, так и осталось - типа, 0001.tif, 0002.tif, 0003.tif)
Проблема состоит в том, что-бы собрать эти сканы в один общий каталог, обработать, а затем вернуть на свои места, в эту структуру каталогов. Для этого, требуется присвоить им уникальные имена, каждому по имени каталога, в котором он сейчас находится, и при нескольких файлах в каталоге - присвоить каждому из них, дополнительно, счетчик, либо оставить его нумерацию в оригинале.

Если сформулировать вопрос более четко - как назвать файл именем каталога автоматически.

Перед тем, как задать вопрос - честно просмотрел весь раздел "Автоматизация" - есть похожие темы, но полной аналогии не нашел.
Возможно, этот вопрос просто оказался слишком элементарным, но я уже, почти сутки, бьюсь над его решением.. Подскажите, хотя-бы направление, в котором стоит искать.. Smile
Приношу извинения, если задал вопрос не в той теме, либо, он действительно, является слишком простым.. Confused
Заранее благодарю за помощь!!!
Back to top
View user's profile Send private message
CaptainFlint



Joined: 14 Dec 2004
Posts: 6159
Location: Москва

Post (Separately) Posted: Fri Apr 06, 2012 15:15    Post subject: Reply with quote

А чем инструмент группового переименования не устраивает? В нём можно и счётчик добавить, и имя родительского каталога, и удалить это всё потом (если при добавлении позаботиться о уникальном разделителе)…
_________________
Почему же, ё-моё, ты нигде не пишешь "ё"?
Back to top
View user's profile Send private message
Avada



Joined: 01 Aug 2008
Posts: 10315
Location: Россия, Саратов

Post (Separately) Posted: Fri Apr 06, 2012 15:30    Post subject: Reply with quote

CaptainFlint
Я именно это и хотел сначала предложить. Но подкаталогов-то в этих пяти каталогах у него несколько сотен... Легко, конечно, указать имя родительского каталога, собрав предварительно все файлы вместе в один список в режиме без подкаталогов. Но вот со счётчиком в этом случае что делать? Нумерация-то получится общей по отображаемому списку, а не раздельной по реальным подкаталогам.
_________________
Даже самая богатая фантазия
Не представит себе наши безобразия.
Back to top
View user's profile Send private message
CaptainFlint



Joined: 14 Dec 2004
Posts: 6159
Location: Москва

Post (Separately) Posted: Fri Apr 06, 2012 15:57    Post subject: Reply with quote

А какая разница? В самом брутальном варианте задать им имя по маске [4-] с заменой слэшей на какие-нибудь процентики (точнее, любого символа, не встречающегося в целевых именах каталогов и файлов), полученные файлы собрать в один каталог через Ctrl+B, F6, обработать, а потом разбросать их по старым местам, заменив эти процентики обратно на слэши. В таком варианте даже счётчик не понадобится, т.к. уникальность этих длинных имён гарантируется уникальностью полных путей. Но если надо, можно и счётчик добавить, а уничтожить его при обратном переименовании можно будет либо опять же заменой (если дать уникальный разделитель), либо простым урезанием имени с конца (если позаботиться о том, чтобы количество цифр было одинаковым).
_________________
Почему же, ё-моё, ты нигде не пишешь "ё"?
Back to top
View user's profile Send private message
sa



Joined: 29 Apr 2009
Posts: 2624

Post (Separately) Posted: Fri Apr 06, 2012 16:24    Post subject: Reply with quote

После Ctrl+B (или Ctrl+Shift+B для группы из 5 выделенных каталогов) вызвать инструмент группового переименования.
Для начального переименования можно использовать маску для имени файла [G]_[P]_[N]
Только вместо _ может понадобиться подобрать что-нибудь уникальное для корректного обратного переименования.
Экспериментировать лучше на "пустышках"!
Back to top
View user's profile Send private message
johngray



Joined: 21 Mar 2009
Posts: 5

Post (Separately) Posted: Fri Apr 06, 2012 17:32    Post subject: Reply with quote

Друзья, спасибо огромное за помощь - дело, по крайней мере сдвинулось с мертвой точке. Групповое переименование - отличная штука, давно им пользуюсь, но про плагин добавления имени каталога в имя файа узнал только сегодня.. Век живи-век учись..
Может это не идеальный вариант, но работает!!
Обработаю файлы, затем попробую вернуть их на свои места, в каталогах.
Еще раз, спасибо!
С уважением,
johngray
Back to top
View user's profile Send private message
Avada



Joined: 01 Aug 2008
Posts: 10315
Location: Россия, Саратов

Post (Separately) Posted: Fri Apr 06, 2012 17:49    Post subject: Reply with quote

johngray wrote:
но про плагин добавления имени каталога в имя файа узнал только сегодня..

Справедливости ради уточню, что это не плагин. А узнать об этом и других специальных выражениях можно было при желании и гораздо раньше, чем сегодня. Из справки, где все они описаны.
_________________
Даже самая богатая фантазия
Не представит себе наши безобразия.
Back to top
View user's profile Send private message
sa



Joined: 29 Apr 2009
Posts: 2624

Post (Separately) Posted: Fri Apr 06, 2012 17:55    Post subject: Reply with quote

johngray wrote:
затем попробую вернуть их на свои места, в каталогах
Тут совет
CaptainFlint wrote:
а потом разбросать их по старым местам, заменив эти процентики обратно на слэши.
будет очень кстати.
Back to top
View user's profile Send private message
johngray



Joined: 21 Mar 2009
Posts: 5

Post (Separately) Posted: Fri Apr 06, 2012 21:01    Post subject: Reply with quote

Avada wrote:
Справедливости ради уточню, что это не плагин. А узнать об этом и других специальных выражениях можно было при желании и гораздо раньше, чем сегодня. Из справки, где все они описаны.

Спасибо за мудрый совет..
Именно это давно собирался сделать - как следует изучить справку к TC. Но, каждый раз, черт побери, жаль времени - думаешь, что знаешь те моменты, которые тебе нужны от программы.. К своему стыду, должен признать, что знаком с программой с момента перехода на нее с NC, еще в её бытность WC. Very Happy
И давно уже спорю с друзьями по поводу лучшего Shell-менеджера в пользу TC.
Back to top
View user's profile Send private message
niknikursa



Joined: 03 May 2012
Posts: 3

Post (Separately) Posted: Thu May 03, 2012 11:57    Post subject: Reply with quote

а есть ли выход из ситуации, если необходимо переименовать файл по имени каталога, но чтоб файл выглядел следующим образом на примере:
C:\Иванов Иван Иванович 03.05.2012\Р Иванов И.И. 03.05.2012.doc
Сейчас я после создания каталога копирую в него файл «Р фио.doc» затем через групповое переименование по маске ввожу [N1] [P] на выходе файл «Р Иванов Иван Иванович 03.05.2012.doc», а вот сделать маску чтоб файл был вида «Р Иванов И.И. 03.05.2012.doc» не получается. Фамилия может быть разной длинны, так же как и имя, отчество.
Помогите, если это возможно конечно.
Back to top
View user's profile Send private message
Tol!k



Joined: 01 Apr 2008
Posts: 1727
Location: Арзамас

Post (Separately) Posted: Thu May 03, 2012 16:26    Post subject: Reply with quote

напр. найти \s(\D{2,})\s(\D)\D+\s(\D)\D+\s
заменить " $1 $2. $3. " без кавычек с рег.выраж.
Back to top
View user's profile Send private message
sa



Joined: 29 Apr 2009
Posts: 2624

Post (Separately) Posted: Thu May 03, 2012 16:42    Post subject: Reply with quote

niknikursa
Включив Рег. выраж. можно, например, и так:
Маска для имени файла: Р [P]
Маска для расширения: [E]
Найти: ( .*)( .?).*( .?).*( .*)
Заменить на: $1$2.$3.$4

Add
Чтобы убрать пробел между инициалами, выражение для поиска записать так:
( .*)( .?).* (.?).*( .*)


Last edited by sa on Thu May 03, 2012 20:58; edited 1 time in total
Back to top
View user's profile Send private message
niknikursa



Joined: 03 May 2012
Posts: 3

Post (Separately) Posted: Thu May 03, 2012 17:11    Post subject: Reply with quote

Tol!k
sa
Я из ваших ответов вот так сделал: в маске указал Р [P] затем в найти: \s(\D{2,})\s(\D)\D+\s(\D)\D+\s ; а заменить указал: $1 $2.$3.
По ( .*)( .?).*( .?).*( .*) у меня между инициалами пробел ставиться.
и всё получилось!!!!! Так и нужно было!!!! Очень вам благодарен.


Last edited by niknikursa on Thu May 03, 2012 18:15; edited 1 time in total
Back to top
View user's profile Send private message
sa



Joined: 29 Apr 2009
Posts: 2624

Post (Separately) Posted: Thu May 03, 2012 17:40    Post subject: Reply with quote

niknikursa wrote:
не понимаю как это применить

Как обычно, только замену введите без кавычек: $1 $2. $3.пробел
Этот вариант более надёжный: не зависит от количества разделительных пробелов в названии папки.
Back to top
View user's profile Send private message
niknikursa



Joined: 03 May 2012
Posts: 3

Post (Separately) Posted: Thu May 03, 2012 18:27    Post subject: Reply with quote

sa
я примерно за 2011 и 2012 год руками именовал их около 2 456 штук. и это только по этому образцу но есть еще и другие кодировки, но теперь я стал понимать и другие шаблоны создам,
а можно все это в кнопку прописать!? помогите пожалуйста.
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 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