Переименование с периодическим сбросом счётчика

Обсуждение вопросов автоматизации Total Commander с помощью сторонних программ и скриптовых технологий.

Модераторы: Avada, CaptainFlint, Nik, d-view, Моторокер

Аватара пользователя
Flasher
Сообщения: 14229
Зарегистрирован: Пт ноя 06, 2009 00:33
Откуда: Москва

Сообщение Flasher »

BeardFury78 писал(а):но я лично не нашел
Плохо искал.
Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой.
Аватара пользователя
Avada
Сообщения: 10541
Зарегистрирован: Пт авг 01, 2008 16:17
Откуда: Россия, Саратов

Сообщение Avada »

Тема объединена с имеющейся.
Даже самая богатая фантазия
Не представит себе наши безобразия.
Аватара пользователя
Flasher
Сообщения: 14229
Зарегистрирован: Пт ноя 06, 2009 00:33
Откуда: Москва

Сообщение Flasher »

BeardFury78
Есть, кстати, такой скрипт без необходимости выделять. Только там нет нулей спереди. Можно попробовать допилить под заданные условия. Правда надо ещё учесть тип сортировки.
Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой.
BeardFury78
Сообщения: 213
Зарегистрирован: Чт авг 25, 2016 05:24

Сообщение BeardFury78 »

Flasher
Спасибо за указание нужной темы. Однако первый скрипт переименовывает совсем не так, как мне нужно. Второй скрипт не сработал, выдает ошибку.
Аватара пользователя
Flasher
Сообщения: 14229
Зарегистрирован: Пт ноя 06, 2009 00:33
Откуда: Москва

Сообщение Flasher »

BeardFury78
Я в курсе, что не так. Второй тоже не так, в шапке описано как.
Я спрашиваю, если обработка структуры годится, то какой будет тип сортировки?
Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой.
BeardFury78
Сообщения: 213
Зарегистрирован: Чт авг 25, 2016 05:24

Сообщение BeardFury78 »

Flasher
Тип сортировки файлов пусть будет по имени в порядке убывания.
Аватара пользователя
Flasher
Сообщения: 14229
Зарегистрирован: Пт ноя 06, 2009 00:33
Откуда: Москва

Сообщение Flasher »

BeardFury78
Не стал я заморачиваться с номерными именами. Сделал простой вариант для обычных имён:

Код: Выделить всё

'=======================================================
' Дописать в имена файлов в структуре активного каталога
' номерной префикс от 0001 до числа фильтрованных файлов
' при включении алфавитной сортировки (по умолч. прямой)

' Условие: путь запуска - пустой

' Параметры (необязательные): <фильтр-список расширений>
'                             <cортировка обратная: 1>
' Примеры: *.jpg;*.jpeg   |   *.* 1
'=======================================================
With WScript.Arguments
  If .Count Then If .Item(0) <> "" Then Filt = .Item(0) Else Filt = "*.*"
  If .Count = 2 Then Sort = .Item(1)
End With : Set ShA = CreateObject("Shell.Application")
Set Lst = CreateObject("System.Collections.ArrayList")
Set FSO = CreateObject("Scripting.FileSystemObject")
CD = FSO.GetAbsolutePathName("")
If CD = FSO.GetParentFolderName(WScript.ScriptFullName) Then WScript.Quit
ForFolder CD : MsgBox "Выполнено!", 4160, " Переименование с нумерацией      "

Sub ForFolder(Path)
  Set Items = ShA.NameSpace(Path).Items
  Items.Filter 73920, Filt
  If Items.Count Then
    For Each F in Items : Lst.Add CStr(F) : Next
    Lst.Sort : If Sort = 1 Then Lst.Reverse
    For Each F in Lst
      i = i + 1 : If Len(i) < 4 Then i = String(4 - Len(i), "0") & i
      N = i & FSO.GetFileName(F)
      FSO.GetFile(Path & "\" & F).Name = N
    Next : Lst.Clear
  End If : Items.Filter 73888, "*"
  For Each Fold in Items : ForFolder Fold.Path : Next
End Sub
Последний раз редактировалось Flasher Чт сен 01, 2016 11:17, всего редактировалось 2 раза.
Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой.
BeardFury78
Сообщения: 213
Зарегистрирован: Чт авг 25, 2016 05:24

Сообщение BeardFury78 »

Flasher
Очень хорошо. А можно еще вариант, но с просто алфавитной сортировкой? Чтобы когда потребуется нумеровать имена в порядке увеличения, использовать другой вариант такого скрипта.
Аватара пользователя
Flasher
Сообщения: 14229
Зарегистрирован: Пт ноя 06, 2009 00:33
Откуда: Москва

Сообщение Flasher »

BeardFury78
Добавил параметр.
Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой.
BeardFury78
Сообщения: 213
Зарегистрирован: Чт авг 25, 2016 05:24

Сообщение BeardFury78 »

Flasher
Отлично, большое спасибо, пользуюсь этим скриптом.
r136a8
Сообщения: 3
Зарегистрирован: Пт окт 28, 2016 11:56

Выборочное переименование файлов

Сообщение r136a8 »

Добрый день такая задача, нужно переименовать файлы в количестве 1200 шт. Файлы названы от 1 до 1200.
Нужно переименовать вот в таком прядке (set1-1.png, set1-2.png, set1-3.png, set2-1.png .. и т.д.)
Получается каждая группа (set) файлов состоит из троих фото, получается каждая группа из 3х файлов имеет название set1, set2, set3 и т.д.
Внутри каждой группы есть три фото 1,2,3 получается set1-1.png, set1-2.png, set1-3.png, set2-1, set2-2, set2-3, set3-1, set3-2, set3-3 и т.д.)

Возможно ли это сделать и как возможно через другую программу.
Аватара пользователя
Вахмурка
Сообщения: 2587
Зарегистрирован: Пн дек 27, 2004 14:47
Откуда: Большая деревня Москва
Контактная информация:

Сообщение Вахмурка »

Ставишь курсор на первый файл, запускаешь скрипт с шагом 3 и выделенное переименовываешь по маске set[С]-1. Они, видимо, попадут в конец списка. Потом то же, но 2 и set[С]-2. Оставшееся set[С]-3. Как-то так.
Не забудь сделать резервную копию!
Сайт PowerPro+Total Commander
Скрипты PowerPro для Total Commander
* * *
«Не усматривайте злого умысла в том, что вполне объяснимо глупостью» (Р. Хэнлон)
r136a8
Сообщения: 3
Зарегистрирован: Пт окт 28, 2016 11:56

Сообщение r136a8 »

Получается я сначала переименую все файлы от set1-1 до set365-1 потом от set1-2 до set365-2 и от set1-3 до set365-3
Так?
Аватара пользователя
Вахмурка
Сообщения: 2587
Зарегистрирован: Пн дек 27, 2004 14:47
Откуда: Большая деревня Москва
Контактная информация:

Сообщение Вахмурка »

Во-первых, насколько я знаю арифметику, 1200/3=400, а не 365. Во-вторых, выделение не должно касаться уже переименованных файлов. Проще всего их перемещать в другую директорию, хотя можно и Shift+Down
Сайт PowerPro+Total Commander
Скрипты PowerPro для Total Commander
* * *
«Не усматривайте злого умысла в том, что вполне объяснимо глупостью» (Р. Хэнлон)
Аватара пользователя
Flasher
Сообщения: 14229
Зарегистрирован: Пт ноя 06, 2009 00:33
Откуда: Москва

Сообщение Flasher »

r136a8 писал(а):Файлы названы от 1 до 1200.
Без расширений, просто числа?
Было: 1, 2, 3, 4, 5, 6.
Стало: set1-1.png, set1-2.png, set1-3.png, set2-1.png, set2-2.png, set2-3.png.
Так?

Да, и не нужно создавать новую тему, когда есть, где спросить.
Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой.
Ответить