View previous topic :: View next topic |
Author |
Message |
moonbaggi
Joined: 09 Jun 2018 Posts: 7
|
(Separately) Posted: Sat Jun 09, 2018 10:56 Post subject: Переименование файлов по имени их папок и заданным числам |
|
|
В TC я полный 0, научился только через Ctrl + M делать переименование файлов заходя в каждую папку, а как сделать это плагином или макросом ( не знаю как правильно ) я не знаю, поэтому сильно не пинайте меня, форум Ваш читал, но все равно не понял как это делать....
Версия TC у меня 8.01 но могу поставить какую скажете.
Суть вопроса: У меня есть много папок, внутри этих папок по 8 файлов, мне нужно все эти файлы переименовать по названию их папки, и выставить порядковый номер 1-8, потом все эти файлы нужно будет переименовать по другим цифрам ( к примеру .1 - это будет -5 .2 - это будет -3 и.т.д т.е по своему порядку)
Помогите пожалуйста разобраться. Спасибо! |
|
Back to top |
|
 |
Вахмурка

Joined: 27 Dec 2004 Posts: 2581 Location: Большая деревня Москва
|
(Separately) Posted: Sat Jun 09, 2018 14:06 Post subject: |
|
|
Вторую часть вопроса не совсем понял. "Потом" - это когда? Почему не сразу? Что значит "по другим цифрам"? Закономерность какая-то есть? Если 1->5, а 2->3, то угадать следующий член ряда - задачка нетривиальная!
По первой части вопроса: используй поле [P] - от слова "parent", то есть родительская директория. Видимо, тебе нужна маска [P][C]. Читай справку. Удачи! _________________ Сайт PowerPro+Total Commander
Скрипты PowerPro для Total Commander
* * *
«Не усматривайте злого умысла в том, что вполне объяснимо глупостью» (Р. Хэнлон) |
|
Back to top |
|
 |
moonbaggi
Joined: 09 Jun 2018 Posts: 7
|
(Separately) Posted: Sat Jun 09, 2018 16:44 Post subject: |
|
|
Переименование будет иметь строгий порядок. С начало нужно по порядку переименовать все файлы которые идут в каждой папке от 1 до 8. А потом каждую порядковую цифру менять на определенную свою.
К примеру .2 на -5 .3 -2, .4 -4
C "parent" я все понял. Вопрос как сделать так чтобы переименовка произошла сразу во всех папках сразу, и мне не заходить в каждую, для переименовки? |
|
Back to top |
|
 |
Вахмурка

Joined: 27 Dec 2004 Posts: 2581 Location: Большая деревня Москва
|
(Separately) Posted: Sat Jun 09, 2018 16:54 Post subject: |
|
|
cm_DirBranch (Ctrl+B) выводит на панель все файлы в текущей директории, без учета поддиректорий. Выделяешь всё и потом Ctrl+M.
С продолжением ты только больше тумана напустил. Логика или закономерность в изменении имен есть? Формулу какую-то можно нацарапать?
Добавлено
Потренируйся только сперва на кошках! Перекинь несколько директорий во временную, отработай переименование, и только потом переходи к основным. А то по неопытности (и неумению читать справку) таких дров можно наломать... _________________ Сайт PowerPro+Total Commander
Скрипты PowerPro для Total Commander
* * *
«Не усматривайте злого умысла в том, что вполне объяснимо глупостью» (Р. Хэнлон) |
|
Back to top |
|
 |
Flasher

Joined: 06 Nov 2009 Posts: 14229 Location: Москва
|
(Separately) Posted: Sat Jun 09, 2018 17:01 Post subject: |
|
|
Вахмурка wrote: | С продолжением ты только больше тумана напустил. | Смотри, сам не напусти. Ctrl+B тут не помощник.
moonbaggi
5 тема снизу текущей страницы подфорума. Тут принято сперва искать, а не просто что-то читать. _________________ Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой. |
|
Back to top |
|
 |
moonbaggi
Joined: 09 Jun 2018 Posts: 7
|
(Separately) Posted: Sat Jun 09, 2018 17:05 Post subject: |
|
|
(Ctrl+B) далее (Ctrl+M) Тогда он у меня порядковый счетчик будет для всех файлов делать? А не от 1 до 8 ( по кол-ву файлов в папке) А мне нужно чтобы в каждой папке счетчик начинался с 1.
Как я сейчас все делаю:
1) Выделаю все папки ахапкой и переименовываю с добавлением w
2) Далее я захожу в каждую папку и делаю переименовку файлов по имени папки + счетчик
3) Далее я выделаю все файлы и начинаю переименовку делать по порядковой цифре в другую цифру "К примеру .2 на -5 .3 -2, .4 -4 "
Возможно это все прописать в 1 экшен или плагином... я не знаю как правильно, чтобы не заходить в каждую папку и не делать одни и тебе манипуляции.
P.S хотел скрины добавить но нельзя (
Спасибо за помощь! |
|
Back to top |
|
 |
Flasher

Joined: 06 Nov 2009 Posts: 14229 Location: Москва
|
(Separately) Posted: Sat Jun 09, 2018 17:17 Post subject: |
|
|
moonbaggi wrote: | Тогда он у меня порядковый счетчик будет для всех файлов делать? | В новых версиях (это никак не 8.01) будет диалог автопереименования, где счётчик в папках сбрасывается. Но в строго заданном формате <пробел>(<счётчик>), начиная с 1 или 2.
Посмотрите мой пост выше. Первый вопрос давно разобран.
Если же надо в отсортированных списках сразу писать свою рандомную нумерацию, то укажите весь список сразу. Вероятно, получится и cmd-командой обойтись.
moonbaggi wrote: | К примеру .2 на -5 .3 -2, .4 -4 | Что это за замена такая? _________________ Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой. |
|
Back to top |
|
 |
moonbaggi
Joined: 09 Jun 2018 Posts: 7
|
(Separately) Posted: Sat Jun 09, 2018 17:57 Post subject: |
|
|
Quote: | Если же надо в отсортированных списках сразу писать свою рандомную нумерацию, то укажите весь список сразу. Вероятно, получится и cmd-командой обойтись. |
Имена файлов на старте: После переименовки имя файлов:
w123456.1 - w123456-1
w123456.2 - w123456-5
w123456.3 - w123456-2
w123456.4 - w123456-4
w123456.5 - w123456-3
w123456.6 - w123456-7
w123456.7 - w123456-6
w123456.8 - w123456-8
И так в каждой папке должны быть переименованы последние цифры. |
|
Back to top |
|
 |
Flasher

Joined: 06 Nov 2009 Posts: 14229 Location: Москва
|
(Separately) Posted: Sat Jun 09, 2018 18:04 Post subject: |
|
|
moonbaggi
Забудьте про два прохода. Тут одного достаточно.
В конечном итоге расширений у файлов не будет?
И папки избирательно выделяются? Или есть один родитель (папка активной панели) со всеми папками на обработку?
И тут ещё вопрос сортировки неясен. На пару списков исходных имён файлов в папках можно посмотреть? _________________ Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой.
Last edited by Flasher on Sat Jun 09, 2018 18:29; edited 1 time in total |
|
Back to top |
|
 |
Avada

Joined: 01 Aug 2008 Posts: 10124 Location: Россия, Саратов
|
(Separately) Posted: Sat Jun 09, 2018 18:22 Post subject: |
|
|
moonbaggi
И, кстати, слова "переименовка" в русском языке нет, есть "переименование". Заголовок поправлен (все ваши критерии туда загнать не могу, но хоть в относительно приличный вид привести — и то дело). _________________ Даже самая богатая фантазия
Не представит себе наши безобразия. |
|
Back to top |
|
 |
moonbaggi
Joined: 09 Jun 2018 Posts: 7
|
(Separately) Posted: Sat Jun 09, 2018 19:01 Post subject: |
|
|
Спасибо что поправили, я видел что текст подчеркивается, но проигнорировал.
Как я сейчас все делаю:
1) Выделаю все папки ахапкой и переименовываю с добавлением w
https://a.radikal.ru/a37/1806/a7/8ff287046320.jpg
2) Далее я захожу в каждую папку и делаю переименовку файлов по имени папки + счетчик
https://d.radikal.ru/d38/1806/2c/1da5ba927277.jpg
3) Далее я выделаю все файлы и начинаю переименовку делать по порядковой цифре в другую цифру "К примеру .2 на -5 .3 -2, .4 -4 "
https://b.radikal.ru/b26/1806/12/000a325829b3.jpg
Добавлено спустя 3 минуты:
Quote: | В конечном итоге расширений у файлов не будет? | Расширение Jpeg как было так и оставаться должно.
Quote: | И папки избирательно выделяются? |
Папки выделяются все.
Quote: | На пару списков исходных имён файлов в папках можно посмотреть? |
Скрины выложил, надеюсь поможет. |
|
Back to top |
|
 |
Flasher

Joined: 06 Nov 2009 Posts: 14229 Location: Москва
|
(Separately) Posted: Sat Jun 09, 2018 19:18 Post subject: |
|
|
moonbaggi wrote: | Скрины выложил | Лишнее всё это (да ещё в запретных размерах). Можно было просто списки перечислить.
А можно целью подобного переименования поделиться? Для чего w спереди и конкретные номера на конце? Не могу КПД уловить. _________________ Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой. |
|
Back to top |
|
 |
Avada

Joined: 01 Aug 2008 Posts: 10124 Location: Россия, Саратов
|
(Separately) Posted: Sat Jun 09, 2018 19:21 Post subject: |
|
|
moonbaggi
Замечание за нарушение правил форума. И, как верно было сказано, вдобавок всё это в таком виде и не особо нужно. Картинки заменены ссылками. Больше так не делайте. _________________ Даже самая богатая фантазия
Не представит себе наши безобразия. |
|
Back to top |
|
 |
moonbaggi
Joined: 09 Jun 2018 Posts: 7
|
(Separately) Posted: Sat Jun 09, 2018 20:55 Post subject: |
|
|
Прошу прощения. Я просто по другому не знал как ссылки выложить.
Создаются папки именем артикула, внутри фотки данного артикула, w - так заведено. Остальные переименование - это порядок ракурсов фото. |
|
Back to top |
|
 |
Flasher

Joined: 06 Nov 2009 Posts: 14229 Location: Москва
|
(Separately) Posted: Sun Jun 10, 2018 00:31 Post subject: |
|
|
Не вышло сходу с cmd-строкой (по синтаксису верно, но там скорее косяк самой cmd), поэтому vbs:
Code: | '==================== VBS ===================
' Переименовать файлы внутри выделенных папок
' по их именам с добавкой - и заданного числа
' Параметр: %WL
'======== Массив подстановочных чисел =======
Arr = Array(1,5,2,4,3,7,6,8)
'============================================
If WSH.Arguments.Count = 0 Then WSH.Quit
With CreateObject("Scripting.FileSystemObject")
Set L = .OpenTextFile(WSH.Arguments(0),,,-1)
Do : P = L.ReadLine
If .FolderExists(P) Then
Set Files = .GetFolder(P).Files
If Files.Count = UBound(Arr) + 1 Then
i = 0
For Each F in Files
F.Name = "w" & .GetFileName(P) & "-" &_
Arr(i) & "." & .GetExtensionName(F) : i = i + 1
Next
End If
End If
Loop Until L.AtEndOfStream : L.Close
End With
MsgBox Space(18) & "Выполнено!", 4160,_
" Переименование файлов внутри папок " |
_________________ Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой. |
|
Back to top |
|
 |
|