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, 3, 4  Next
 
Post new topic   Reply to topic    Total Commander Forum Index -> Автоматизация Total Commander printer-friendly view
View previous topic :: View next topic  
Author Message
Strek



Joined: 17 Oct 2010
Posts: 186

Post (Separately) Posted: Wed Oct 02, 2019 09:50    Post subject: Удалить часть имени в файлах с заменой Reply with quote

Имеется очень много файлов/папок/подпапок с именем, на конце которых такое
<пробел>(Rus conflicted copy 2019-08-30 23 59 32)
Время и дата отличаются.
Как это всё можно переименовать, но при этом, если переименовать, то нужно ещё и заменить старый файл с таким же названием, например:
Есть файл:
Природа (Rus conflicted copy 2019-08-30 23 59 32).jpg
И в той же папке есть:
Природа.jpg
Но тот файл, который содержит (Rus conflicted copy 2019-08-30 23 59 32), он всегда новее.

ПС. Реально ли решить проблему?


Last edited by Strek on Wed Oct 02, 2019 18:19; edited 3 times in total
Back to top
View user's profile Send private message
Flasher



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

Post (Separately) Posted: Wed Oct 02, 2019 11:55    Post subject: Reply with quote

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



Joined: 17 Oct 2010
Posts: 186

Post (Separately) Posted: Wed Oct 02, 2019 13:08    Post subject: Reply with quote

Flasher wrote:
А чем ИГП не устроило?

ИГП - это что?

Flasher wrote:
переименование со счётчиком.

Дык нужен не счётчик, а оригинальное имя.
Есть:
Природа (Rus conflicted copy 2019-08-30 23 59 32).jpg
Нужно:
Природа.jpg

Но при этом есть старая версия:
Природа.jpg
А значит Природа 3.jpg не катит, потому что речь идёт либо об исполняемых файлах, либо скриптах include для AutoIt. И тут нумерация это тоже самое, что и с (Rus conflicted copy 2019-08-30 23 59 32).


Last edited by Strek on Wed Oct 02, 2019 18:21; edited 1 time in total
Back to top
View user's profile Send private message
Flasher



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

Post (Separately) Posted: Wed Oct 02, 2019 13:21    Post subject: Reply with quote

Strek wrote:
ИГП - это что?
Инструмент группового переименования.
Strek wrote:
Дык нужен не счётчик, а оригинальное имя
Первое переименование и так будет без счётчика. Я же написал "при совпадении".
БлагоЯр wrote:
А значит Природа 3.jpg не катит, потому что речь идёт ...
Легче не стало. Что делать со старой версией? Проще.

Было:
1. Природа (Rus conflicted copy 2019-08-30 23 59 32).jpg
2. Природа.jpg

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



Joined: 17 Oct 2010
Posts: 186

Post (Separately) Posted: Wed Oct 02, 2019 13:45    Post subject: Reply with quote

Flasher
Со старой заменить новой (то бишь той, которая была с (Rus conflicted copy 2019-08-30 23 59 32)).
Было:
Природа (Rus conflicted copy 2019-08-30 23 59 32)
Природа (старая версия)

Стало:
Природа (Rus conflicted copy 2019-08-30 23 59 32) -> Природа (заменяет старую)

Flasher wrote:
Первое переименование и так будет без счётчика. Я же написал "при совпадении".

Дык я уже так пробовал. Первое? Дык оно у меня и так одно Smile
Вот, для наглядности:


Last edited by Strek on Wed Oct 02, 2019 18:22; edited 1 time in total
Back to top
View user's profile Send private message
Flasher



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

Post (Separately) Posted: Wed Oct 02, 2019 14:29    Post subject: Reply with quote

Strek
Вот теперь ясно.
Code:
TOTALCMD#BAR#DATA
%ComSpec% /v:on /q/c for %i in
(%S) do for /f "delims=(" %%n in ("%%~i") do set "n=%%n" &(if exist "!n:~,-1!%%~xi\" rd /q/s "!n:~,-1!%%~xi")&&move/y %%i "!n:~,-1!%%~xi"
wcmicons.dll,63
Убрать в именах выбранных объектов правую часть в скобках с заменой одноимёнок

1
Code:
TOTALCMD#BAR#DATA
%ComSpec% /v:on /q/c "for /f "delims= eol=" %i in ('dir "%cd%\* (*)*" /a/b/s') do for /f "delims=(" %n in ("%~ni") do set "n=%n" &(if exist "%~dpi!n:~,-1!%~xi\" rd /q/s "%~dpi!n:~,-1!%~xi")&&move/y "%~i" "%~dpi!n:~,-1!%~xi"

wcmicons.dll,50
Убрать в именах объектов структуры активного каталога|правую часть в скобках с заменой одноимёнок

1

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



Joined: 17 Oct 2010
Posts: 186

Post (Separately) Posted: Wed Oct 02, 2019 15:11    Post subject: Reply with quote

Flasher
Красиво. Smile
А можно сделать так, чтобы во всех подпапках сделало?

ПС. Уже забыл, как кнопки создавать. Нужно это содержимое в текстовый файл, потом поменять расширение и перетянуть на панель?

Расширение какое должно быть?


Last edited by Strek on Wed Oct 02, 2019 18:23; edited 1 time in total
Back to top
View user's profile Send private message
Flasher



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

Post (Separately) Posted: Wed Oct 02, 2019 15:16    Post subject: Reply with quote

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



Joined: 17 Oct 2010
Posts: 186

Post (Separately) Posted: Wed Oct 02, 2019 15:27    Post subject: Reply with quote

Flasher
Во, точно. Smile

ПС. По теме - Красавчик! БлагоДарю!
Избавил меня от нервов Smile

Только закавыка небольшая
Если есть папка, например:
punto (Rus conflicted copy 2019-08-30 23 59 32)
И в ней тоже конфликтные файлы
И есть старая версия этой папки:
punto
То оно удаляет старую, и переименовывает конфликтную и файлы внутри уже не переименовывает (насколько я понял).

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

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


Last edited by Strek on Wed Oct 02, 2019 18:24; edited 2 times in total
Back to top
View user's profile Send private message
sa



Joined: 29 Apr 2009
Posts: 2563

Post (Separately) Posted: Wed Oct 02, 2019 17:10    Post subject: Reply with quote

Strek
Можно выделить файлы с (Rus conflicted..) на конце и в групповом переименовании (Ctrl+M) заменить имя на нужное, а к расширению добавить какой-нибудь символ, например _, чтобы избежать конфликта имён файлов.
Затем файлы с новым расширением *.???_ переименовать (по Shift+F6) в файлы с прежним *.??? расширением. В случае вложенных папок, файлы с новым расширением найти поиском (Alt+F7), вывести на панель и аналогичным образом переименовать по Shift+F6.
Back to top
View user's profile Send private message
Strek



Joined: 17 Oct 2010
Posts: 186

Post (Separately) Posted: Wed Oct 02, 2019 18:15    Post subject: Reply with quote

sa
глупое предложение, исходя из того, что мне нужно.
Объясню почему. У меня сотни папок, в них тысячи файлов. Да, не в каждой папке конфликтные имена и не каждая папка с конфликтным именем, но как представляется "Можно выделить файлы с ..."?
И как потом задать имя на нужное, если этих файлов тысячи?

ПС. В общем вопросов больше, чем ответов Smile
Back to top
View user's profile Send private message
sa



Joined: 29 Apr 2009
Posts: 2563

Post (Separately) Posted: Wed Oct 02, 2019 18:24    Post subject: Reply with quote

Strek wrote:
но как представляется "Можно выделить файлы с ..."?
Способов множество. Например, поиск по *(Rus*, вывод файлов на панель, Ctrl+A.

Strek wrote:
как потом задать имя на нужное, если этих файлов тысячи?
К примеру способом из второго сообщения темы.
Back to top
View user's profile Send private message
Flasher



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

Post (Separately) Posted: Wed Oct 02, 2019 18:37    Post subject: Reply with quote

Strek wrote:
Только закавыка небольшая
Не такая уж она и небольшая. Перемещение файлов между папками — это уже по сути задача нового уровня, на простую замену никак не тянет. Тут одной кнопкой не обойдёшься.
Мало того, что надо контролировать имена при удалении скобочного содержимого, так ещё и совпадение имён при перемещении. Тут алгоритм более конкретный нужен.

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



Joined: 17 Oct 2010
Posts: 186

Post (Separately) Posted: Wed Oct 02, 2019 18:37    Post subject: Reply with quote

sa wrote:
Способов множество. Например, поиск по *(Rus*, вывод файлов на панель, Ctrl+A.

Не, это всё понятно, а что дальше?
sa wrote:
К примеру способом из второго сообщения темы.

Я так понимаю, что ты не понял суть проблемы.
Посмотри скриншот 5-го сообщения, с учётом того, что это не только au3-файлы, а вообще могут быть без расширения, с разным количеством символов, и самое главное то, что переименованный файл должен заменить старый, а не продублироваться с автопереименованием.

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

Flasher wrote:
Тут алгоритм более конкретный нужен.

Да всё просто - оставаться всегда должны все те файлы и папки, названия которых конфликтные, то бишь те, которые имеют в имени "(Rus conflicted copy 2019-08-30 23 59 32)".
Когда есть папка, например:
Punto (Rus conflicted copy 2019-08-30 23 59 32)
И папка:
Punto

То нужно из папки:
Punto (Rus conflicted copy 2019-08-30 23 59 32)
Перенести всё содержимое (естественно, уже переименованное) с заменой в папку:
Punto

Просто удалить папку "Punto" нельзя, потому как некоторые файлы остаются нужны и которых нет в папке "Punto (Rus conflicted copy 2019-08-30 23 59 32)"
Back to top
View user's profile Send private message
Flasher



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

Post (Separately) Posted: Wed Oct 02, 2019 19:30    Post subject: Reply with quote

Strek
Не, не просто. Представь такую ситуацию:

Folder (*)
|—file (123).txt
|—file.txt

Folder
|—file (456).txt
|—file (789).txt
|—file.txt

1. Folder (*)\file (123).txt > Folder (*)\file.txt
2. Folder (*)\file.txt > Folder\file.txt (опаньки, а тут что на что менять?)
3. Удаляем Folder (*).
_________________
Автору сборки 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
Goto page 1, 2, 3, 4  Next
Page 1 of 4

 
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