Инструмент группового переименования
Select messages from
# through # FAQ
[/[Print]\]

Total Commander -> Общие вопросы

#1: Инструмент группового переименования Author: A_Zeshko PostPosted: Mon Dec 29, 2008 01:52
    —
Подскажите пожалуйста, как правильно прописать "подвыражение для поиска+замены".
Названия файлов, например: ВасяВася, а нужно получить только Вася. Т.е. везде идут повторения в имени файла (двукратные). Как переименовать файлы?
З.Ы. Экспериментировал сегодня с "регулярными выражениями для поиска и замены" но так ничего и не добился ((.+)\1+ и <Пусто>). Спасибо.

#2: Re: Инструмент группового переименования Author: Tol!kLocation: Арзамас PostPosted: Mon Dec 29, 2008 03:36
    —
A_Zeshko wrote:
Экспериментировал сегодня с "регулярными выражениями для поиска и замены" но так ничего и не добился

для совпадений не меньше, чем из трёх символов
Code:
поиск: (.{3,})\1
замена: $1

#3:  Author: skoleLocation: Россия, Оренбург PostPosted: Thu Feb 12, 2009 10:10
    —
в 7.0.4a нашел такой баг...
если имя файла типа "Имя файла.файл файл.расширение" и делаешь переимнование "Каждое Слово В Верхнем Регистре", то получается "Имя Файла. файл файл", т.е. слова после символа "." не подлежат переимнованию, в ранних версиях такого бага не замечал. У кого были похожие проблемы, отзовитесь...

#4:  Author: skoleLocation: Россия, Оренбург PostPosted: Thu Feb 12, 2009 10:15
    —
и еще вопрос, как делать маску переименования, чтобы файлы, начинающиеся с "01 - ", "02 - " и т.д. (обычно музыка в альбомах), заменяли на нужный текст? т.е. "01 - название.mp3" > "нужный ткст - название.mp3"

#5:  Author: KavarLocation: Южная Сибирь PostPosted: Thu Feb 12, 2009 10:25
    —
skole wrote:
и еще вопрос, как делать маску переименования, чтобы файлы, начинающиеся с "01 - ", "02 - " и т.д. (обычно музыка в альбомах), заменяли на нужный текст? т.е. "01 - название.mp3" > "нужный ткст - название.mp3"


Нужный текст[N3-]

#6:  Author: c930 PostPosted: Thu Aug 07, 2014 06:00
    —
Почему сабж не допускает в имени шаблона квадратные скобки, заменяет их на круглые без уведомления?

#7:  Author: AvadaLocation: Россия, Саратов PostPosted: Thu Aug 07, 2014 10:07
    —
c930
Очевидно, потому, что квадратные скобки зарезервированы в соответствующем инструменте для других целей. Специфичным для ИГП данное поведение не является, в шаблонах поиска, например, ровно то же самое. А в шаблонах синхронизации или атрибутов, например, замены нет. Во всяком случае, никаких специальных разъяснений по этому поводу мне не попадалось. Если интересно, желающие могут спросить на оффоруме Гислера.

#8:  Author: ВахмуркаLocation: Большая деревня Москва PostPosted: Thu Aug 07, 2014 10:55
    —
Quote:
в 7.0.4a нашел такой баг...
если имя файла типа "Имя файла.файл файл.расширение" и делаешь переимнование "Каждое Слово В Верхнем Регистре", то получается "Имя Файла. файл файл", т.е. слова после символа "." не подлежат переимнованию, в ранних версиях такого бага не замечал. У кого были похожие проблемы, отзовитесь...
Для расширения есть отдельный чекбокс [ ] [E] (это в рамке Search & Replace). Тебе, видимо, надо его включить

#9:  Author: AvadaLocation: Россия, Саратов PostPosted: Thu Aug 07, 2014 11:26
    —
Вахмурка
Если уж отвечать по принципу "Лучше поздно, чем никогда", то хотя бы правильно.
Прежде всего, обращаю внимание, что вопрос был задан про 7.04a, а упомянутая опция появилась в 8.0.
Кроме того, ответ неверный в любом случае. К поиску и замене выпадающий список выбора регистра не относится, в соответствующую рамку не входит и опцией [E] не управляется. Подробности см. в справке.
А теперь по существу дела. Выбор опции "Начала Слов С Заглавной" (именно так она называется в нашем переводе) действительно оставляет без переименования расширение. Судя по всему, это баг, причём сохраняющийся и поныне.
Решить при выборе такого регистра проблему с помощью спецвыражений [U] и [L] в комбинации с маской [E] в поле расширения за один проход не удаётся, поскольку регистр обрабатывается уже после маски и поиска/замены. Так что вариант решения, если кому надо, могу предложить такой: сначала изменить регистр только для имени, а уже вторым проходом, указав опять для регистра "Без изменения", воспользоваться для расширения маской [U][E1][L][E2-3] (можно потом сохранить её как шаблон) или поиском/заменой. А вообще Гислеру сообщать надо.

#10:  Author: sa PostPosted: Thu Aug 07, 2014 13:22
    —
Quote:
Новое в Total Commander 6.02 Final (03.03.04):
- Инструмент группового переименования: "Начала Слов С Заглавной": Расширение файла теперь не изменяется.

#11:  Author: AvadaLocation: Россия, Саратов PostPosted: Thu Aug 07, 2014 14:43
    —
sa
Понятно, спасибо. Стало быть, это не баг, а фича, а степень новизны этой проблемы в 2009 году была несколько преувеличена. В большинстве случае регистр расширения таким образом менять не требуется, а некоторые приёмы, позволяющие это сделать, я привёл.

#12:  Author: Infocatcher PostPosted: Thu Aug 07, 2014 16:20
    —
c930 wrote:
Почему сабж не допускает в имени шаблона квадратные скобки, заменяет их на круглые без уведомления?
Вроде, вот так вот можно: [[] для открывающей скобки и []] для закрывающей.

[Добавлено позже]
Ай, я что-то про саму замену подумал.
Если [ – не первый символ, то можно переименовать вручную (секция [rename] в wincmd.ini).


Last edited by Infocatcher on Thu Aug 07, 2014 16:29; edited 2 times in total

#13:  Author: MVVLocation: Ростов-Дон PostPosted: Thu Aug 07, 2014 16:23
    —
Никогда не видел, чтобы тотал сам подставлял круглые скобки вместо квадратных. Если неверный шаблон, пишет просто, что ошибка. Поля поиска/замены пустые?

#14:  Author: sa PostPosted: Thu Aug 07, 2014 16:54
    —
MVV
Речь не о содержимом шаблона, а об его имени.

#15:  Author: AvadaLocation: Россия, Саратов PostPosted: Thu Aug 07, 2014 16:54
    —
MVV
Я тоже никогда не замечал и сейчас проверял ситуацию просто по факту баг-репорта. Поля поиска и замены к делу отношения не имеют. Чтобы воспроизвести, достаточно загрузить любой уже имеющийся шаблон, вызвать сохранение и попытаться добавить к прежнему имени квадратные скобки. После пересохранения с новым именем шаблон попадёт в список с круглыми скобками. Как уже говорилось, с именами поисковых шаблонов то же самое.

Infocatcher
Шаблона операции (который справа), а не маски (которая слева)! Советую внимательно рассмотреть окно ИГП.

#16:  Author: pavelmx PostPosted: Sat Sep 20, 2014 18:39
    —
В групповом переименовании пункт "редактировать имена…" открывает текстовый редактор со списком переименовываемых файлов. При закрытии текстового редактора и нажатии "ок" в диалоговом окне переименования ругается, что число строк отличается от изначального, следовательно, переименовать невозможно. Анализ выкинутых строк в списке файлов не выявил в недостающих именах файлов ни длинных путей, ни кодировки отличной от ascii, ни каких-либо других закономерностей. Такое ощущение, что потерянные файлы выбрались случайным образом. Всего, в генерируемый по кнопке "редактировать имена…", список не попали приблизительно 100 файлов из 8000.
Как временное решение, генерирую список файлов другим способом, и импортирую в текстовый редактор, открытый пунктом "редактировать имена…".
Использую 8.0 32-бит. Известен ли баг, и присутствует ли в более поздних версиях?

#17:  Author: AvadaLocation: Россия, Саратов PostPosted: Sat Sep 20, 2014 19:16
    —
pavelmx
Впервые слышу. Что, впрочем, неудивительно: групповым переименованием такого количества файлов (даже обычным образом, а уж тем более через список) никогда не занимался. А про присутствие либо отсутствие бага в новых версиях по-хорошему следовало бы не спрашивать у других, а выяснить это самостоятельно, а потом уж репортить. Заодно будет повод обновить TC до актуального состояния.
Кстати, в описании проблемы явно недостаёт как минимум двух вещей: информации об используемом редакторе и того, проверялось ли всё это с более скромным числом файлов (хотя бы несколько сотен).

#18:  Author: pavelmx PostPosted: Sat Sep 20, 2014 19:40
    —
Актуализировать версию TC весьма хлопотно по разным причинам. Изначально думалось, что баг известный и есть, если не лечение, то добротный обходной путь другими инструментами TC. Видимо теперь придется актуализировать.
Что "Блокнот", что, вручную выставленный, AkelPad реагируют одинаково. На 500 файлах делал неоднократно, проблем не замечал.

#19:  Author: Skif_off PostPosted: Sat Sep 20, 2014 20:03
    —
pavelmx
Обновиться в любом случае неплохая идея. Еще лучше - знание английского и аккуант на оффоруме Smile Ибо, да, обрезает: не мудрствуя лукаво жахнул 30299 файлов, в AkelPad попало только 22057. При этом в самом диалоге группового переименования все 30299 присутствуют (добавил в начале маски [C]).
С %L и подобными - всё нормально, значит, какой-то другой механизм создания списка? Надо репортить или хотя бы выяснить позицию Гислера.

#20:  Author: pavelmx PostPosted: Sat Sep 20, 2014 21:04
    —
В целом, не такая большая проблема, список для последующего импорта можно построить и другим способом. Я не упомянул, может кому сгодиться, наверху TC "Запуск" > "Список только с именами" строит точно такой же по форматированию список, только без потерь строчек. Если операцию по переименованию не нужно повторять 150 раз, то и так сойдет.

#21:  Author: AvadaLocation: Россия, Саратов PostPosted: Sat Sep 20, 2014 22:00
    —
pavelmx
В исходном TC меню "Запуск" пустое, а сборки тут не обсуждаются. Так что из указанного источника — точно не сгодится. Встроенные команды TC для работы с буфером вызываются другими способами (например, из расширенного русского меню).

#22:  Author: Skif_off PostPosted: Sat Sep 20, 2014 23:22
    —
Написал, но кратко, старые версии не упомянул.

#23:  Author: Tol!kLocation: Арзамас PostPosted: Sun Sep 21, 2014 01:23
    —
165k файлов OK

#24:  Author: Skif_off PostPosted: Sun Sep 21, 2014 01:41
    —
Tol!k
Ага, там в теме тоже примеры приводят. Не понимаю - то скрипт заблажил, то это.
Вообще, ОС встала странно, при этом не сборка, не затвиканная, все обновления (кроме фуфлосредства для поиска зловредов) стоят, из изменений: подрезан файл подкачки (размер фиксирован), файл гибернации до 50% (8 Гб ОЗУ), %temp% в C:\Temp, отключена индексация, из меню ПКМ выпилены GIMP и WMP (кривой и длинный перевод, меню слишком широкое), программ минимум, антивирусника нет - фаер+проактивка Comodo 5.12 (для ТС и его каталога - самые лояльные настройки). Блин, снести что-ли нафиг?

#25:  Author: Skif_off PostPosted: Sun Sep 21, 2014 14:45
    —
Пересказывать не буду, кратко: всё решилось после перезагрузки, проблема не воспроизводиться.

#26:  Author: CaptainFlintLocation: Москва PostPosted: Mon Sep 22, 2014 20:24
    —
А у меня воспроизводится. Более того, в самом файле-списке наблюдаются жуткие взаимопересечения имён. Например, при тестовом прогоне был набор из 36-ти файлов с именами
Code:
050513 Totalcm2.rar

(файлы из разных папок в режиме Ctrl+B). В текстовике, что сгенерировал ИГП, 7 из этих файлов исчезли, а вместо ещё одного обнаружилась строка
Code:
050513 Tot050513 Totalcm2.rar

И таких мест полно.

P.S. Кстати, если кто-то сравнивает списки файлов методом пристального взглада, то есть более простой способ: надо скопировать имена выделенных файлов (cm_CopyNamesToClip), вставить их в текстовый файл в любом редакторе, а потом сравнивать этот текстовик с тем текстовиком, что сгенерировал ИГП (главное, не закрывать окошко ожидания в самом ИГП).

#27:  Author: sa PostPosted: Mon Sep 22, 2014 21:12
    —
На всякий случай: диалог ИГП случайно не мог быть вызван не с установками по умолчанию?

#28:  Author: AvadaLocation: Россия, Саратов PostPosted: Mon Sep 22, 2014 21:13
    —
CaptainFlint
Можно и закрыть, если перед этим сохранить сгенерированный файл из редактора не под предложенным именем, а под другим. Мы этот трюк в книге описывали.

#29:  Author: CaptainFlintLocation: Москва PostPosted: Mon Sep 22, 2014 22:04
    —
sa wrote:
На всякий случай: диалог ИГП случайно не мог быть вызван не с установками по умолчанию?

Я провёл тест с чистым wincmd.ini, ИГП вызывал через Ctrl+M, т. е. никаких пользовательских команд не использовал.

Avada wrote:
Можно и закрыть, если перед этим сохранить сгенерированный файл из редактора не под предложенным именем, а под другим.

Можно, конечно, но раз открывать вторую копию Тотала, пока первая занята модальным диалогом, то там уже всё равно, копировать файл или напрямую с исходным работать.

#30:  Author: sa PostPosted: Mon Sep 22, 2014 23:25
    —
CaptainFlint
Подтверждаю проблему в режиме Ctrl+B: TC 8.51a x32, WinXP.
Насчёт взаимопересечений имён: у меня это выглядит как систематическое выпадение кусков списка, как правило, сопровождающееся склейкой крайних имён (или их частей).

#31:  Author: Skif_off PostPosted: Mon Sep 22, 2014 23:30
    —
Блин, а я уже попросил тему перенести из баг-репортов Sad Надо было подождать: на выходные всегда меньше народу. Попросить обратно, чтобы не затерялась?

CaptainFlint
sa
Пути или имена файлов с пробелами? Странно, что раньше не всплыло, я в последнее время вообще предпочитаю AkelPad использовать даже в сравнительно простых случаях.

Avada wrote:
Можно и закрыть, если перед этим сохранить сгенерированный файл из редактора не под предложенным именем, а под другим.

У себя в AkelPad отключил слежение за файлом, после удаления просто жму Сохранить и он сохраняется со старым именем.

#32:  Author: CaptainFlintLocation: Москва PostPosted: Tue Sep 23, 2014 01:14
    —
Skif_off wrote:
Попросить обратно, чтобы не затерялась?

Думаю, сами перенесут, когда увидят, что всё же воспроизводится. Не перенесут — попросим.

Skif_off wrote:
Пути или имена файлов с пробелами?

Изначально в моих тестах были пути и имена файлов с пробелами, но я заменил их все на подчёркивания, и проблема по-прежнему воспроизводится.

#33:  Author: sa PostPosted: Tue Sep 23, 2014 10:44
    —
На другом компе с похожей конфигурацией проблему воспроизвести не сумел…

#34:  Author: sa PostPosted: Wed Sep 24, 2014 09:45
    —
Таки сумел: после того, как добавил в число обрабатываемых файлов файл с именем 文.doc (он был у меня последним в списке).

#35:  Author: Skif_off PostPosted: Wed Sep 24, 2014 10:38
    —
sa
Странно, в таком случае временный файл должен был быть не в мерзкой ANSI, а в UTF-16 LE.

#36:  Author: CaptainFlintLocation: Москва PostPosted: Wed Sep 24, 2014 13:31
    —
Кстати говоря, я совсем забыл, что у меня выставлена опция всегда сохранять временный файл в формате UTF-16. Так что, очень может быть, это является ключевым аспектом.

#37:  Author: sa PostPosted: Wed Sep 24, 2014 13:46
    —
CaptainFlint
Skif_off
Попробуйте запустить переименование, например, в каталоге Windows, с указанным именем (в конце списка). Временный файл при этом должен быть не меньше 8 килобайт.

#38:  Author: CaptainFlintLocation: Москва PostPosted: Wed Sep 24, 2014 13:54
    —
sa
Да у меня-то и без того стабильно воспроизводится, я ж выше писал. Поэтому и предположил, что дело в ключе RenameEditUnicode, который у меня выставлен в 1, так что текстовик всегда юникодный, независимо от того, присутствует в списке файл с извратным именем или нет.

#39:  Author: sa PostPosted: Wed Sep 24, 2014 14:35
    —
CaptainFlint wrote:
Да у меня-то и без того стабильно воспроизводится

У меня без этого файла как-будто не воспроизводится, в том числе при ключе RenameEditUnicode=1.
И с файлом, воспроизводится, только если он последний в списке.


Last edited by sa on Thu Sep 25, 2014 13:27; edited 1 time in total

#40:  Author: Skif_off PostPosted: Wed Sep 24, 2014 22:40
    —
Может быть, на оффоруме поподробнее написать, с примером имени? И тему перенести, если у всех воспроизведется, то Гислеру будет с чем работать.
Про размер файла тоже нужно упомянуть - короткий список создается без проблем.

#41:  Author: BeardFury78 PostPosted: Mon Nov 27, 2017 13:54
    —
Тотал отказывается переименовывать файлы с длиной пути больше 257 символов, пишет "Ошибка: Не удалось переименовать файлы, выделенные жирным шрифтом". Можно ли как-нибудь снять ограничение на длину путей чтобы файлы с длинными путями переименовывались?

#42:  Author: FlasherLocation: Москва PostPosted: Mon Nov 27, 2017 17:45
    —
BeardFury78
См. ключ LongNameCopy.

#43:  Author: AvadaLocation: Россия, Саратов PostPosted: Mon Nov 27, 2017 17:52
    —
Flasher
Не поможет, я эту ситуацию тестировал. Если в имени (а не в пути) больше 255 символов, то ловить там нечего, надо сокращать.

#44:  Author: FlasherLocation: Москва PostPosted: Mon Nov 27, 2017 18:05
    —
Avada wrote:
а не в пути
А, это я не проверял. Но выше про путь писалось.
Avada wrote:
больше 255
256 по идее.
Вообще в Windows такие имена и не должны создаваться. Ты ничего не путаешь?


Last edited by Flasher on Mon Nov 27, 2017 18:35; edited 1 time in total

#45:  Author: AvadaLocation: Россия, Саратов PostPosted: Mon Nov 27, 2017 18:34
    —
Flasher
По идее да, но на практике у меня вышло 255.

#46:  Author: FlasherLocation: Москва PostPosted: Mon Nov 27, 2017 18:43
    —
Avada
Понятно, у меня именно 256.
Wcmd_rus.lng wrote:
1699="Кроме того, последняя часть имени имеет длину %d символов, что превышает допустимый максимум в 256 символов!"

А можешь показать скрин с именем 257+?

#47:  Author: AvadaLocation: Россия, Саратов PostPosted: Mon Nov 27, 2017 19:16
    —
Flasher
А какой тебе, собственно, скрин нужен и зачем? Тот, где в ИГП сообщается, что выделенные файлы не могут быть переименованы? Он стандартный. Скрин сообщения об ошибке при попытке индивидуального переименования в файловой панели без уменьшения числа знаков? И там всё стандартно: "Ошибка! Не удаётся записать бла-бла-бла... Снимите защиту от записи!" Что "длина целевого пути превышает..."? И тут всё стандартно. Ещё раз проверил. По факту проблемы с переименованием начинаются после 255 символов в имени. Такой файл записать можно. Но стоит прибавить ещё один символ, как появляется "Кроме того, последняя часть имени имеет длину 257 символов..." — и ничего не создаётся. Да-да, TC начинает заявлять, что символов 257, а не 256! Почему-то. Между тем и текстовый редактор EmEditor), и набор колонок (с FileX) дают до этого добавления имя без пути как 255. Что в варианте имя+расширение, что с именем без расширения вообще.
И вообще мы, по-моему, несколько уклоняемся от темы — это переименование, но уже не ИГП.

#48:  Author: FlasherLocation: Москва PostPosted: Mon Nov 27, 2017 19:23
    —
Avada wrote:
Такой файл записать можно.
Вот это и требует подтверждения. Не здесь, так в ЛС.

#49:  Author: CaptainFlintLocation: Москва PostPosted: Tue Nov 28, 2017 02:39
    —
Согласно спецификациям NTFS, максимальная длина файлового имени может быть 255 символов, так что от Тотала здесь ничего не зависит. То, что он неправильно считает длину, — это, конечно, баг (возможно, он по ошибке учитывает нулевой символ конца строки, не знаю), но в остальном поведение корректное: файл с 255-символьным именем создаётся, с 256- и выше — пытается создать, но винда даёт отлуп.

Добавлено спустя 16 минут:

Про длину закинул на оф. форум.

#50:  Author: BeardFury78 PostPosted: Tue Nov 28, 2017 13:49
    —
Flasher wrote:

См. ключ LongNameCopy.


Пробовал разные значения, но ничего не изменилось. Хочу переименовать файлы вот этой маской:
Code:
\..\..\[G] Albom\[N]

Вот файлы с длиной пути меньше 257 символов переименовываются нормально. Как я понял, операции с перемещениями файлов в ИГП не работают в таких условиях. А если не перемещать, а просто переименовывать, то операция проходит успешно. К слову, что без ключа, что с ключем, Тотал и так у меня переименовывает файлы с длинными путями, если я использую обычные маски без перемещения.

Добавлено спустя 26 минут:
Quote:
Вот файлы с длиной пути меньше 257 символов переименовываются нормально

Поспешил с выводами. Как оказалось, Тотал с этой маской не переименовывает файлы с длиной пути больше 238 символов. С чем это связано не берусь судить, но заметил, что если в текстовом редакторе поместить рядом маску и полный путь переименовываемого файла, то общее количество символов составляет как раз 259 единиц. И если, к примеру, сократить название файла на 2 символов (таким убразом уменьшая длину пути до 236 символов) и увеличить название маски на 2 символов, то Тотал выдает ту же ошибку.

#51:  Author: FlasherLocation: Москва PostPosted: Tue Nov 28, 2017 18:05
    —
BeardFury78 wrote:
Хочу переименовать файлы вот этой маской:
+ переместить. В таком случае надо писать запрос Гислеру, чтобы перед перемещением наверх также подсчитывался размер.
BeardFury78 wrote:
Тотал и так у меня переименовывает файлы с длинными путями, если я использую обычные маски без перемещения.
А. Вот теперь другое дело.
BeardFury78 wrote:
Тотал с этой маской не переименовывает файлы с длиной пути больше 238 символов.
А длина имени [G] Albom какая получается?

#52:  Author: BeardFury78 PostPosted: Tue Nov 28, 2017 19:13
    —
Flasher wrote:
А длина имени [G] Albom какая получается?


14 символов получается (учитывая и название папки-дедушки и " Albom").

#53:  Author: FlasherLocation: Москва PostPosted: Tue Nov 28, 2017 21:19
    —
BeardFury78
Логика следующая:
1) \..\..\ = 7.
2) [G] Albom\ = 15.
3) 238 + 15 + 7 = 260.
Т.е. ТС воспринимает символы вне подстановочных выражений как часть имени.
Сама маска значения не имеет. Это может быть и ..\[N], в этом случае будет не 238, а 257.

#54:  Author: tolik135 PostPosted: Sun Dec 17, 2017 14:01
    —
Здравствуйте.
При групповом переименовании фотографий, у некоторых нет exif данных, может ли инструмент группового переименования отфильтровывать, и не переименовывая такие файлы скидывать их в отдельную папку?
Хотя бы просто, не переименовывать их.
Или для этого нужен плагин?

#55:  Author: AvadaLocation: Россия, Саратов PostPosted: Sun Dec 17, 2017 15:22
    —
tolik135
1. Для начала откройте справку и прочитайте, что может инструмент, а что — нет хотя бы на уровне вашей версии. В том числе (в самом начале раздела) о том, как можно использовать перемещение со складыванием чего-то в отдельную папку. Но про фильтрацию по абстрактным критериям там, как несложно заметить, нет ни слова. Отфильтровывать ненужное следует до вызова ИГП, а не в нём. Например, в результате поиска по определённым значениям WDX-плагинов.
2. Признак "Нет exif-данных" не годится в качеств техзадания не только для ИГП (ваша задача не для этого инструмента), но и для любого иного случая. Мало того, что без плагинов тут вообще не о чем разговаривать, так и учитываться должны конкретные значения конкретных полей конкретного плагина, а не неизвестно что неизвестно откуда. Вносите ясность, по какому именно признаку должно быть понятно, что данных EXIF нет. Тогда хотя бы можно будет решать, где это следует рассматривать.
2. Этот форум не очень подходит для любителей сборок, а программу можно было бы за два с лишним года и обновить. А то функциональность, знаете ли, меняется: в современных версиях что-то давно работает иначе, а у вас — нет...

#56:  Author: tolik135 PostPosted: Sun Dec 17, 2017 19:15
    —
Avada
Спасибо за разъяснения.
Возможно я и влез не в тот форум, но именно он показался мне наиболее грамотным и точным в отношении этой программы.

Прошу прощения, неверно использовал терминологию. Конечно же я использую плагин, (если не ошибаюсь, это Exif.wdx) для вставки в имя файла метаданных. Но в некоторых файлах или этих данных нет полностью, или нет сведений о дате/времени снимка. А именно эту информацию я и хочу сделать именем файла.
В маске для имени файла это выглядит так: [=exif.DateOriginal.Y-M-D]_[=exif.TimeOriginal.h.m.s]_[C]

Поэтому при групповом переименовании возникает проблема: часть файлов остается без имени, только с порядковым номером. Поэтому и возникла мысль о возможности автоматического пропуска, или перемещения этих файлов в другую папку.

Спасибо за совет по обновлению программы, обязательно воспользуюсь им.

#57:  Author: FlasherLocation: Москва PostPosted: Sun Dec 17, 2017 19:24
    —
tolik135 wrote:
Но в некоторых файлах или этих данных нет полностью, или нет сведений о дате/времени снимка.
Думаете в этом может быть виноват плагин? Или всё же кто-то эти данные снёс при сохранении? Wink

#58:  Author: tolik135 PostPosted: Sun Dec 17, 2017 19:28
    —
Конечно же плагин не виноват)
Этих данных нет в снимках.

#59:  Author: FlasherLocation: Москва PostPosted: Sun Dec 17, 2017 19:39
    —
tolik135 wrote:
Поэтому и возникла мысль о возможности автоматического пропуска, или перемещения этих файлов в другую папку.
Фильтрация по шаблону или поиск с плагинами по [=exif.TimeOriginal] > 0 решает проблему.
Либо можно переименовать/раскидать кнопкой по условию.

#60:  Author: tolik135 PostPosted: Sun Dec 17, 2017 20:14
    —
Flasher
Спасибо огромное! Это многое решит. Огромное подспорье в упорядочивании фотографий. А то загрузил архив google фото, за десять лет, и систематизировать пятьдесят тысяч фотографий немного затруднительно, без приведения в порядок хотя бы имен.
И да. Видимо буду отказываться от сборок. При запуске поиска с плагином программа стала вылетать.

#61:  Author: Hjkma PostPosted: Sun Feb 11, 2018 16:43
    —
Можно ли как-нибудь сделать чтобы папки сливались когда у них при групповом переименовании получаются одинаковые имена?

#62:  Author: AvadaLocation: Россия, Саратов PostPosted: Sun Feb 11, 2018 19:17
    —
Hjkma
Такие вещи на данный момент не делаются даже при переименовании единичного объекта в файловой панели: там будет запрос на перемещение файла/каталога в существующий каталог, а не на слияние. При групповом переименовании либо папка с новым именем получит добавленный счётчик, либо (как в старых версиях TC) операция просто не пройдёт. Дальше, разумеется, содержимое папок со счётчиками можно будет переместить в какую-то одну, но это уже действия за пределами текущего сеанса ИГП.

#63:  Author: sa PostPosted: Sun Feb 11, 2018 23:01
    —
Avada wrote:
Такие вещи на данный момент не делаются даже при переименовании единичного объекта в файловой панели

Если папку для слияния при переименовании (по F6 или Shift+F6) указать как Dir.*, то для выбранных папок слияние делается. В случае, когда в именах перемещаемых папок имеются точки, а в итоговом имени их нет, то можно папку указать, например, как Dir.1.2.3.*, а после слияния усечь имя до нужного (убрать .1.2.3).


Last edited by sa on Mon Feb 12, 2018 12:17; edited 1 time in total

#64:  Author: AvadaLocation: Россия, Саратов PostPosted: Mon Feb 12, 2018 10:06
    —
sa
Да, при пакетном переименовании это организовать можно, но выше у меня шла речь о единичном объекте просто в качестве примера, а о возможности последующего слияния без ИГП было сказано, хотя и без уточнений. Здесь же обсуждается именно инструментарий ИГП, которому во многих случаях пакетное переименование — никак не конкурент. И слияние здесь не самоцель, а попытка как-то решить конфликт имён.

#65:  Author: sa PostPosted: Wed Feb 14, 2018 16:09
    —
Avada wrote:
шла речь о единичном объекте просто в качестве примера

Примера чего? Невозможности слияния?

#66:  Author: AvadaLocation: Россия, Саратов PostPosted: Wed Feb 14, 2018 16:26
    —
sa
Да, невозможности слияния в совсем простом, казалось бы, варианте. И, повторяю, мы тут не пакетное переименование обсуждаем, а в чистом ИГП это сделать при конфликте имён нельзя.

#67:  Author: sa PostPosted: Wed Feb 14, 2018 16:33
    —
Avada
Выбираем папку DirB, нажимаем F6, в поле ввода указываем DirA.* (DirA - уже существующий каталог), жмём Enter. Папки сливаются в DirA.

#68:  Author: AvadaLocation: Россия, Саратов PostPosted: Wed Feb 14, 2018 16:57
    —
sa
Ещё раз, если кто-то чего-то не понял: исходным вопросом было, как запустить слияние при конфликте имён. Это способ решения проблемы в ИГП, а не цель запуска другого инструмента. И предлагаю на этом обмен мнениями прекратить.

#69:  Author: sa PostPosted: Wed Feb 14, 2018 23:21
    —
Avada wrote:
если кто-то чего-то не понял

Увы, чего-то не понял, но обмен прекращаю.

#70:  Author: tavaxi PostPosted: Tue Aug 27, 2019 00:46
    —
Здравствуйте. Групповое переименование возможно в google диске? Он смонтирован у меня в Windows. Делаю по инструкции, как тут tiflocomp.ru / docs/tips_batch_renaming.php пишет ошибку - Не удалось переименовать файлы выделенные жирным шрифтом.

#71:  Author: AvadaLocation: Россия, Саратов PostPosted: Tue Aug 27, 2019 11:59
    —
tavaxi
Инструкцией для группового переименования в TC является в первую очередь его собственная справка. А вообще при таком объёме представленной информации продуктивное обсуждение сомнительно. Во-первых, в старых и новых версиях TC конфликт имён обрабатывается по-разному. У вас какая? Во-вторых, ни слова не сказано о том, что и как вообще делается и что с тем же самым происходит НЕ на смотрированном Гугл-диске. Скажем, если от большого ума выставить всем файлам в текущем каталоге новым именем сегодняшнюю дату, то программа подобными глупостями заниматься откажется (вот с этим самым сообщением), поскольку в каталоге не может быть более одного файла с одинаковым именем. Давайте подробности.

#72:  Author: tavaxi PostPosted: Tue Aug 27, 2019 19:01
    —
Quote:
Во-первых, в старых и новых версиях TC конфликт имён обрабатывается по-разному. У вас какая?


8.51а

Quote:
Скажем, если от большого ума выставить всем файлам в текущем каталоге новым именем сегодняшнюю дату, то программа подобными глупостями заниматься откажется (вот с этим самым сообщением), поскольку в каталоге не может быть более одного файла с одинаковым именем. Давайте подробности.


Нет, я просто удаляю слово вместе с пробелом, которое диск ставит при копировании файла.

"Копия document.docx" переименовываю в "document.docx" и так для всех файлов


UPD: Пока писал комментарий, протестировал ещё раз - оказывается пробел забыл поставить, после замены, получалось, что новые файлы были с пробелом в начале Very Happy


Новый вопрос - как можно рекурсивно переименовать файлы в подпапках?

#73:  Author: AvadaLocation: Россия, Саратов PostPosted: Wed Aug 28, 2019 06:18
    —
tavaxi
Версию 8.51a давно пора обновить на более свежую, там многое изменилось.
Из последующих пояснений неясно, решена проблема или нет.
Переименовывать файлы в подпапках можно в режиме показа файлов без подкаталогов (Ctrl+B для текущего каталога, Shift+Ctrl+B для выделенных объектов). В любом для ИГП необходимо, чтобы весь нужный список отображался.

#74:  Author: tavaxi PostPosted: Thu Aug 29, 2019 00:59
    —
Avada]
Да, проблема с переименованием решена. И режим работы без каталогов бесподобен. Большое спасибо за помощь Wink Wink

#75:  Author: AvadaLocation: Россия, Саратов PostPosted: Thu Aug 29, 2019 06:28
    —
tavaxi
Пожалуйста, только больше полные цитаты с предыдущими сообщениями в свой текст не вставляйте, это запрещено правилами форума. И так понятно, кому и на что даётся ответ. Лишнее убрано.

#76:  Author: AvadaLocation: Россия, Саратов PostPosted: Tue Oct 15, 2019 12:11
    —
All
В английской справке версии 9.22 в ИГП добавилось выражение [S] с пояснением "Paste file size in bytes". Но вставка размера файлов в байтах у меня не выполняется в ИГП ни в этой версии, ни в 9.22a — при вводе [S] выдаётся ошибка, такого выражения TC не понимает (вариант со строчной [s] — это другое). Кроме того, об этой новации я не нашёл ни слова ни в истории версий, ни на оффоруме. Кто может, проверьте (и хорошо бы не только на русской локали). Если подтвердится, надо уточнить у Гислера, почему не работает. Возможно, он хотел добавить такую фичу, но потом передумал, а в справку включил преждевременно?

#77:  Author: sa PostPosted: Tue Oct 15, 2019 15:33
    —
У меня также выражение [S] порождает ошибку. Да и зачем оно нужно, если есть [=tc.size.bytes] или [=tc.Размер.байт]?

#78:  Author: AvadaLocation: Россия, Саратов PostPosted: Tue Oct 15, 2019 16:22
    —
sa
Зачем оно нужно, тоже следовало бы спросить у Гислера. (С другой стороны, есть же, например, при наличии того же плагина и стандартные варианты для вставки даты/времени.) Нельзя исключить, конечно, что он решил это добавить, затем передумал на приватной стадии тестирования, но забыл убрать уже внесённую в справку дописку. А может, и как-то иначе. Уточнять надо.

#79:  Author: AvadaLocation: Россия, Саратов PostPosted: Thu Oct 17, 2019 10:01
    —
All
С выражением [S] всё прояснилось: оно предназначалось для версии 9.50 (и там работает) а в справке более ранних версий оказалось преждевременно.

#80:  Author: Lnk PostPosted: Fri Sep 22, 2023 17:47
    —
Мне интересно - новая команда MULTIRENAME==123 с другими не работает?
Прописал в кнопке cm_SelectCurrentExtension, MULTIRENAME==123 - выводит ошибку.
Или по хитрому надо как-то?)

#81:  Author: AvadaLocation: Россия, Саратов PostPosted: Fri Sep 22, 2023 18:23
    —
Lnk
Она в таком виде и не должна работать. Эта "хитрость" давно известна: для любой подобной команды с параметром создаётся пользовательская команда с префиксом em_, которая и включается в связку. При условии, естественно, что правильно задан сам параметр и 123 действительно означает имя сохранённого шаблона. И я бы, не убедившись прежде, что команда работает нормально в диалоговом режиме, указывать == поостерёгся. Впрочем, в ИГП есть функция отката...
И, кстати, не очень-то эта команда новая: знаки равенства добавились в 10.50, а сама команда MULTIRENAME введена и вовсе в 7.50.

#82:  Author: Lnk PostPosted: Fri Sep 22, 2023 18:57
    —
Avada,
попробовал cm_SelectCurrentExtension, em_MULTIRENAME==4 в ТС 11.01 и получаю ответ - "функция не реализована".
Просто MULTIRENAME==4 работает нормально.

#83:  Author: AvadaLocation: Россия, Саратов PostPosted: Fri Sep 22, 2023 19:12
    —
Lnk
Всё прекрасно работает, если правильно записано. Во-первых, придумайте для em-команды нормальное имя без знаков равенства, пробелов и прочих разделителей. Во-вторых, уберите в связке после запятой пробел.

#84:  Author: Lnk PostPosted: Fri Sep 22, 2023 19:21
    —
Avada,
хмм.. в моем шаблоне ИДМ нет знаков равенства, он называется 4.
Пробел ставил потому что во всех командах прописывалось так, думал так и надо. С равенствами аналогично.
Попробовал
cm_SelectCurrentExtension,em_MULTIRENAME==4
cm_SelectCurrentExtension,em_MULTIRENAME=4
cm_SelectCurrentExtension,em_MULTIRENAME4.
Ошибка та же. Так как же именно надо Нормально?

#85:  Author: AvadaLocation: Россия, Саратов PostPosted: Fri Sep 22, 2023 19:50
    —
Lnk
Вообще-то выше речь шла не про шаблон, а про имя команды. Но, как выяснилось, конкретно знак равенства в этом имени не помеха. А вот разделитель в связках — только запятая. Таким образом, все три варианта связки должны работать (и работают, я проверял) при условии, что em-команда записана где следует и как следует. Между тем предупреждение "Функция не реализована" означает, что запись в файле, содержащем em-команды (в норме это usercmd.ini), неправильна (несовпадение имени с указанным в связке, ошибка в имени em-команды или в самих её настройках) либо этой команды там вовсе нет. Вот тут и ищите источник проблемы.
Должен также заметить, что к текущей теме общий синтаксис связок команд и em-команд не имеет отношения (ничего специфичного для ИГП там нет), и всё это начинает скатываться в откровенный оффтоп.

#86:  Author: sa PostPosted: Fri Sep 22, 2023 19:59
    —
Lnk
Вот раздел справки про создание пользовательских команд.

#87:  Author: AvadaLocation: Россия, Саратов PostPosted: Fri Sep 22, 2023 20:02
    —
sa
Я тоже мог бы дать пару ссылок на этот справочник (и про пользовательские команды, и про параметризованные), но сказанное выше про офффтоп понятно?

#88:  Author: Lnk PostPosted: Fri Sep 22, 2023 20:08
    —
Avada,
понятия не имею в чем и где проблема, и оффтопа разводить никакого я не планировал.
Все что я хотел - как в случае с другими командами, чтоб 2 команды выполнились при нажатии на 1 кнопку, а именно - сперва выделились чтоб файлы,а потом сразу переименовались. Надеялся что кто-нибудь напишет рабочую команду, а я на ее основе уже мог бы клепать кнопки.
Раз такой возможности нет в случае с MULTIRENAME(или она запрятана глубоко или с ошибками работает, или надо быть профессором чтоб выяснить как это работает), чтож, не беда могу на 2 кнопки нажимать.

Но спасибо в любом случае за уделенное мне время..

#89:  Author: AvadaLocation: Россия, Саратов PostPosted: Fri Sep 22, 2023 20:42
    —
Lnk
Всё уже написано, возможность есть. Ещё раз и больше ни разу: все три варианта сцепки — рабочие (и я, повторяю, это проверял), задача для одной кнопки абсолютно решаемая. Проблема исключительно на вашей стороне. Прежде всего разберитесь с самой em-командой, где и как вы её прописали. Может быть, вы её не в тот файл поместили, откуда я знаю? А может быть, у вас первой командой выделяется слишком много файлов и надо ставить промежуточную команду cm_wait с паузой в миллисекундах перед следующей командой...

#90:  Author: LonerDLocation: Макеевка PostPosted: Fri Sep 22, 2023 20:54
    —
Lnk
А вообще - была ли создана отдельная пользовательская команда, наподобие такой?
Quote:
[em_MULTIRENAME4]
cmd=MULTIRENAME 4

Или может просто пытаетесь добавить символы "em_", а команды нету?

#91:  Author: Lnk PostPosted: Fri Sep 22, 2023 21:08
    —
Avada,
.. мда..тогда даже не знаю что сказать..
вот моя кнопка, скопировал
Code:

TOTALCMD#BAR#DATA
cm_SelectCurrentExtension,em_MULTIRENAME==4
C:\Program Files (x86)\Total Commander\WCMICON2.DLL,69


Никаких файлов дополнительно не создавал вобще.
Команды в кнопке пробовал
cm_SelectCurrentExtension,em_MULTIRENAME==4
cm_SelectCurrentExtension,em_MULTIRENAME=4
cm_SelectCurrentExtension,em_MULTIRENAME4
cm_SelectCurrentExtension, em_MULTIRENAME==4
На нескольких файлах пробовал, перегруза нет.
И если жать сперва на кнопку cm_SelectCurrentExtension, а потом MULTIRENAME==4 - все работает(если б что-то не так с ИГП было- не работало бы и тотал не левый же..
"C:\Program Files (x86)\Total Commander\TOTALCMD64.EXE").
Не понимаю в чем секрет(
Печально, но на нет и суда нет.

Добавлено спустя 7 минут:

LonerD wrote:
Lnk
А вообще - была ли создана отдельная пользовательская команда, наподобие такой?
Quote:

Или может просто пытаетесь добавить символы "em_", а команды нету?
нет, про такое даж не знал!
Именно пытался просто символы добавить, похоже в этом проблема! спасибо!
Только как это прописать..
прост вот так
cm_SelectCurrentExtension,[em_MULTIRENAME4] cmd=MULTIRENAME 4
не работает тоже.

Добавлено спустя 7 минут:

Господа, может кто нибудь кнопку рабочую скопировать? (код кнопки).

#92:  Author: AvadaLocation: Россия, Саратов PostPosted: Fri Sep 22, 2023 21:42
    —
Lnk
Сделайте в конце концов нормальную пользовательскую команду (в ней, а не в кнопках дело, оставьте их в покое!) и решите этим свою проблему. Образец команды выше уже был дан. А если вы так и не поняли, что такое пользовательские команды, как они создаются и как работают — изучайте документацию до понимания, ссылки тоже были уже даны. И давайте на этом прекратим тут оффтоп, хватит уже.
Обсуждение вашего вопроса я как модератор объявляю законченным. Это всех касается, далее весь оффтоп по этому поводу будет просто удаляться.

#93:  Author: LonerDLocation: Макеевка PostPosted: Sun Oct 08, 2023 16:19
    —
Можно ли как-то добавить нумерацию в файлы в обратном порядке, не зная их количество?

Есть файлы
Code:
file1.txt
file2.txt
file3.txt
file4.txt


Надо получить
Code:
001 file4.txt
002 file3.txt
003 file2.txt
004 file1.txt


Если количество файлов известно - то алгоритм понятен.
Маска имени [C] [N], шаг -1, "Start at" - количество файлов.
А если количество файлов произвольно?

#94:  Author: CaptainFlintLocation: Москва PostPosted: Sun Oct 08, 2023 19:21
    —
LonerD
Не думаю, что с помощью одного лишь ИГП это возможно. Даже если какой-то плагин написать, вряд ли он сможет узнать количество файлов в момент первого вызова, так как Тотал будет просто последовательно вызывать его файл за файлом. Скриптами разве что, но скриптами проще уж сразу и само переименование выполнить.

#95:  Author: sa PostPosted: Sun Oct 08, 2023 19:31
    —
LonerD
Можно вторым проходом (после переименования в прямом порядке) сделать, выполнив в диалоге ИГП обратную сортировку по колонке "Старое имя" и используя маску [C][N4-].

#96:  Author: LonerDLocation: Макеевка PostPosted: Sun Oct 08, 2023 21:13
    —
sa wrote:
выполнив в диалоге ИГП обратную сортировку по колонке "Старое имя"

Точно, спасибо Very Happy Мне даже при первом проходе этого и достаточно.

#97:  Author: sa PostPosted: Sun Oct 08, 2023 21:18
    —
LonerD wrote:
Мне даже при первом проходе этого и достаточно.

Понятно! Я думал, что исходная сортировка была позаковыристей...

#98:  Author: Hidan PostPosted: Thu Oct 19, 2023 18:20
    —
Помогите, пожалуйста! Имеются файлы с именами А-234, А-7564, А-302, В-657, В-120, В-653, С-095, С-146, С-945 и т.д. (с одинаковой основой, но беспорядочной нумерацией). Можно ли их массово переименовать в А_1, А_2, А_3, В_1, В_2, В_3, С_1, С_2, С_3?

#99:  Author: 790 PostPosted: Thu Oct 19, 2023 18:53
    —
Сначала выделить в панели все с А, запустить ГП, нажать "Выделить диапазон" или просто добавить 1 после N, чтобы получилось [N1], останется только А, потом вставить _"счётчик". И т.д. со всеми остальными.

#100:  Author: Hidan PostPosted: Thu Oct 19, 2023 19:17
    —
790
Спасибо за ответ! А массово все файлы в папке никак не переименовать, задав шаблон? Чтобы, например, нумерация прерывалась, когда ключевая часть файла меняется с А на В, и начиналась снова с 1? Просто таких групп файлов у меня очень много, и переименовывать их поочередно особо не сбережет время.

#101:  Author: sa PostPosted: Thu Oct 19, 2023 20:36
    —
Hidan wrote:
Просто таких групп файлов у меня очень много

Попробуйте переименовать все файлы в два прохода.
Первый:
Маска для имени файла: [N1]_(1)
Выполнить, согласиться на автопереименование, Закрыть.
Второй:
Маска для имени файла: [N]
Найти: (1) (| |(|)
Выполнить, Закрыть.

Предполагается, что используется умолчательное значение ключа AutoRenameMode, равное 3, либо этот ключ вовсе отсутствует в wincmd.ini.
Версия TC 9.0 и свежее.

#102:  Author: Monarch-LFV PostPosted: Fri Oct 20, 2023 06:22
    —
sa
Действительно красивое решение, единственное можно чуть укоротить во втором случае, то есть так:
Найти: (1) |(|)
Wink

#103:  Author: sa PostPosted: Fri Oct 20, 2023 07:31
    —
Monarch-LFV
Да, поторопился. Можно ещё короче.

Первый:
Маска для имени файла: [N1]_1
Выполнить, согласиться на автопереименование, Закрыть.
Второй:
Маска для имени файла: [N]
Найти: 1 (|)
Выполнить, Закрыть.

#104:  Author: Monarch-LFV PostPosted: Fri Oct 20, 2023 08:08
    —
sa
Ну вашему мастерству можно только поаплодировать 👏

#105:  Author: sa PostPosted: Fri Oct 20, 2023 08:40
    —
Monarch-LFV
На самом деле это была "домашняя заготовка", но своя. Разыскал-таки!

#106:  Author: Hidan PostPosted: Fri Oct 20, 2023 11:28
    —
sa
Вашей способности к логическому мышлению можно только позавидовать. Спасибо огромнейшее! Все получилось! Very Happy

#107:  Author: Lnk PostPosted: Sat Oct 21, 2023 19:39
    —
Lnk wrote:

Мне интересно - новая команда MULTIRENAME==123 с другими не работает?
Прописал в кнопке cm_SelectCurrentExtension, MULTIRENAME==123 - выводит ошибку.
Или по хитрому надо как-то?)
...
Господа, может кто нибудь кнопку рабочую скопировать? (код кнопки).

Сам себе отвечу, вот решение:
Создайте в файле usercmd.ini пользовательскую команду:
Code:

[em_G_MULTIRENAME]
cmd=MULTIRENAME==
param=123

а на панели кнопку
Code:

TOTALCMD#BAR#DATA
cm_SelectCurrentExtension, em_G_MULTIRENAME

C:\Program Files (x86)\Total Commander\WCMICON2.DLL,69



-1

Может кому-то пригодится. На основе такого можно хоть сколько кнопок сделать, меняя имена и шаблоны.

#108:  Author: sa PostPosted: Sat Oct 28, 2023 08:46
    —
Lnk
Можно и так задать пользовательскую команду, как было предложено в посте LonerD:
Code:
[em_G_MULTIRENAME]
cmd=MULTIRENAME==123
то есть без строки "param".

#109:  Author: Lnk PostPosted: Sat Oct 28, 2023 17:41
    —
sa, хорошо, понял.
Но мне, впервые столкнувшемуся с em, нужен был работающий пример, чтоб понять как оно создается, позднее мне повезло и разбирающийся человек под ником BeTeP мне показал https://forum.wincmd.ru/viewpost.php?p=136506 (за что ему спасибо, разумеется еще раз). И хоть речь там шла о другом, но на основе рабочего образца создать команду - не проблема.
а с этим
Code:
[em_MULTIRENAME4]
cmd=MULTIRENAME 4
(как было предложено в посте LonerD) - у меня ничего не получилось. Это уж вы, видимо на основе своего опыта, смогли написать так, чтоб оно работало.



Total Commander -> Общие вопросы


output generated using printer-friendly topic mod. All times are GMT + 4 Hours

Page 1 of 1

Powered by phpBB © 2001, 2005 phpBB Group