View previous topic :: View next topic |
Author |
Message |
Strek

Joined: 17 Oct 2010 Posts: 160 Location: Светая Русь
|
(Separately) Posted: Wed Oct 02, 2019 09:50 Post subject: Удалить часть имени в файлах с заменой |
|
|
Имеется очень много файлов/папок/подпапок с именем, на конце которых такое
<пробел>(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 |
|
 |
Flasher

Joined: 06 Nov 2009 Posts: 14229 Location: Москва
|
(Separately) Posted: Wed Oct 02, 2019 11:55 Post subject: |
|
|
Strek
А чем ИГП не устроил? Достаточно со снятыми флажками вписать ' (*' в поле Найти:, а при совпадении ТС9+ сам предложит автоматическое переименование со счётчиком. _________________ Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой. |
|
Back to top |
|
 |
Strek

Joined: 17 Oct 2010 Posts: 160 Location: Светая Русь
|
(Separately) Posted: Wed Oct 02, 2019 13:08 Post subject: |
|
|
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 |
|
 |
Flasher

Joined: 06 Nov 2009 Posts: 14229 Location: Москва
|
(Separately) Posted: Wed Oct 02, 2019 13:21 Post subject: |
|
|
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 |
|
 |
Strek

Joined: 17 Oct 2010 Posts: 160 Location: Светая Русь
|
(Separately) Posted: Wed Oct 02, 2019 13:45 Post subject: |
|
|
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: | Первое переименование и так будет без счётчика. Я же написал "при совпадении". |
Дык я уже так пробовал. Первое? Дык оно у меня и так одно
Вот, для наглядности:

Last edited by Strek on Wed Oct 02, 2019 18:22; edited 1 time in total |
|
Back to top |
|
 |
Flasher

Joined: 06 Nov 2009 Posts: 14229 Location: Москва
|
(Separately) Posted: Wed Oct 02, 2019 14:29 Post subject: |
|
|
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 |
|
 |
Strek

Joined: 17 Oct 2010 Posts: 160 Location: Светая Русь
|
(Separately) Posted: Wed Oct 02, 2019 15:11 Post subject: |
|
|
Flasher
Красиво.
А можно сделать так, чтобы во всех подпапках сделало?
ПС. Уже забыл, как кнопки создавать. Нужно это содержимое в текстовый файл, потом поменять расширение и перетянуть на панель?
Расширение какое должно быть?
Last edited by Strek on Wed Oct 02, 2019 18:23; edited 1 time in total |
|
Back to top |
|
 |
Flasher

Joined: 06 Nov 2009 Posts: 14229 Location: Москва
|
(Separately) Posted: Wed Oct 02, 2019 15:16 Post subject: |
|
|
Strek wrote: | Уже забыл, как кнопки создавать. | Да ладно?  _________________ Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой. |
|
Back to top |
|
 |
Strek

Joined: 17 Oct 2010 Posts: 160 Location: Светая Русь
|
(Separately) Posted: Wed Oct 02, 2019 15:27 Post subject: |
|
|
Flasher
Во, точно.
ПС. По теме - Красавчик! БлагоДарю!
Избавил меня от нервов
Только закавыка небольшая
Если есть папка, например:
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 |
|
 |
sa
Joined: 29 Apr 2009 Posts: 2352
|
(Separately) Posted: Wed Oct 02, 2019 17:10 Post subject: |
|
|
Strek
Можно выделить файлы с (Rus conflicted..) на конце и в групповом переименовании (Ctrl+M) заменить имя на нужное, а к расширению добавить какой-нибудь символ, например _, чтобы избежать конфликта имён файлов.
Затем файлы с новым расширением *.???_ переименовать (по Shift+F6) в файлы с прежним *.??? расширением. В случае вложенных папок, файлы с новым расширением найти поиском (Alt+F7), вывести на панель и аналогичным образом переименовать по Shift+F6. |
|
Back to top |
|
 |
Strek

Joined: 17 Oct 2010 Posts: 160 Location: Светая Русь
|
(Separately) Posted: Wed Oct 02, 2019 18:15 Post subject: |
|
|
sa
глупое предложение, исходя из того, что мне нужно.
Объясню почему. У меня сотни папок, в них тысячи файлов. Да, не в каждой папке конфликтные имена и не каждая папка с конфликтным именем, но как представляется "Можно выделить файлы с ..."?
И как потом задать имя на нужное, если этих файлов тысячи?
ПС. В общем вопросов больше, чем ответов  |
|
Back to top |
|
 |
sa
Joined: 29 Apr 2009 Posts: 2352
|
(Separately) Posted: Wed Oct 02, 2019 18:24 Post subject: |
|
|
Strek wrote: | но как представляется "Можно выделить файлы с ..."? | Способов множество. Например, поиск по *(Rus*, вывод файлов на панель, Ctrl+A.
Strek wrote: | как потом задать имя на нужное, если этих файлов тысячи? | К примеру способом из второго сообщения темы. |
|
Back to top |
|
 |
Flasher

Joined: 06 Nov 2009 Posts: 14229 Location: Москва
|
(Separately) Posted: Wed Oct 02, 2019 18:37 Post subject: |
|
|
Strek wrote: | Только закавыка небольшая | Не такая уж она и небольшая. Перемещение файлов между папками — это уже по сути задача нового уровня, на простую замену никак не тянет. Тут одной кнопкой не обойдёшься.
Мало того, что надо контролировать имена при удалении скобочного содержимого, так ещё и совпадение имён при перемещении. Тут алгоритм более конкретный нужен.
Strek wrote: | И ещё вот проверил - если выделено много файлов, то не хочет работать, сообщает "Выделено слишком много файлов". | Вторая кнопка такого не покажет.  _________________ Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой. |
|
Back to top |
|
 |
Strek

Joined: 17 Oct 2010 Posts: 160 Location: Светая Русь
|
(Separately) Posted: Wed Oct 02, 2019 18:37 Post subject: |
|
|
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 |
|
 |
Flasher

Joined: 06 Nov 2009 Posts: 14229 Location: Москва
|
(Separately) Posted: Wed Oct 02, 2019 19:30 Post subject: |
|
|
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 |
|
 |
|