Удалить часть имени в файлах с заменой
Select messages from
# through # FAQ
[/[Print]\]
Goto page 1, 2, 3, 4  Next  :| |:
Total Commander -> Автоматизация Total Commander

#1: Удалить часть имени в файлах с заменой Author: Strek PostPosted: Wed Oct 02, 2019 09:50
    —
Имеется очень много файлов/папок/подпапок с именем, на конце которых такое
<пробел>(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

#2:  Author: FlasherLocation: Москва PostPosted: Wed Oct 02, 2019 11:55
    —
Strek
А чем ИГП не устроил? Достаточно со снятыми флажками вписать ' (*' в поле Найти:, а при совпадении ТС9+ сам предложит автоматическое переименование со счётчиком.

#3:  Author: Strek PostPosted: Wed Oct 02, 2019 13:08
    —
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

#4:  Author: FlasherLocation: Москва PostPosted: Wed Oct 02, 2019 13:21
    —
Strek wrote:
ИГП - это что?
Инструмент группового переименования.
Strek wrote:
Дык нужен не счётчик, а оригинальное имя
Первое переименование и так будет без счётчика. Я же написал "при совпадении".
БлагоЯр wrote:
А значит Природа 3.jpg не катит, потому что речь идёт ...
Легче не стало. Что делать со старой версией? Проще.

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

Стало?:
1. Природа.jpg
2. ?

#5:  Author: Strek PostPosted: Wed Oct 02, 2019 13:45
    —
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

#6:  Author: FlasherLocation: Москва PostPosted: Wed Oct 02, 2019 14:29
    —
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

#7:  Author: Strek PostPosted: Wed Oct 02, 2019 15:11
    —
Flasher
Красиво. Smile
А можно сделать так, чтобы во всех подпапках сделало?

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

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


Last edited by Strek on Wed Oct 02, 2019 18:23; edited 1 time in total

#8:  Author: FlasherLocation: Москва PostPosted: Wed Oct 02, 2019 15:16
    —
Strek wrote:
Уже забыл, как кнопки создавать.
Да ладно? Laughing

#9:  Author: Strek PostPosted: Wed Oct 02, 2019 15:27
    —
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

#10:  Author: sa PostPosted: Wed Oct 02, 2019 17:10
    —
Strek
Можно выделить файлы с (Rus conflicted..) на конце и в групповом переименовании (Ctrl+M) заменить имя на нужное, а к расширению добавить какой-нибудь символ, например _, чтобы избежать конфликта имён файлов.
Затем файлы с новым расширением *.???_ переименовать (по Shift+F6) в файлы с прежним *.??? расширением. В случае вложенных папок, файлы с новым расширением найти поиском (Alt+F7), вывести на панель и аналогичным образом переименовать по Shift+F6.

#11:  Author: Strek PostPosted: Wed Oct 02, 2019 18:15
    —
sa
глупое предложение, исходя из того, что мне нужно.
Объясню почему. У меня сотни папок, в них тысячи файлов. Да, не в каждой папке конфликтные имена и не каждая папка с конфликтным именем, но как представляется "Можно выделить файлы с ..."?
И как потом задать имя на нужное, если этих файлов тысячи?

ПС. В общем вопросов больше, чем ответов Smile

#12:  Author: sa PostPosted: Wed Oct 02, 2019 18:24
    —
Strek wrote:
но как представляется "Можно выделить файлы с ..."?
Способов множество. Например, поиск по *(Rus*, вывод файлов на панель, Ctrl+A.

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

#13:  Author: FlasherLocation: Москва PostPosted: Wed Oct 02, 2019 18:37
    —
Strek wrote:
Только закавыка небольшая
Не такая уж она и небольшая. Перемещение файлов между папками — это уже по сути задача нового уровня, на простую замену никак не тянет. Тут одной кнопкой не обойдёшься.
Мало того, что надо контролировать имена при удалении скобочного содержимого, так ещё и совпадение имён при перемещении. Тут алгоритм более конкретный нужен.

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

#14:  Author: Strek PostPosted: Wed Oct 02, 2019 18:37
    —
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)"

#15:  Author: FlasherLocation: Москва PostPosted: Wed Oct 02, 2019 19:30
    —
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 (*).



Total Commander -> Автоматизация Total Commander


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

Goto page 1, 2, 3, 4  Next  :| |:
Page 1 of 4

Powered by phpBB © 2001, 2005 phpBB Group