Переименование с периодическим сбросом счётчика
Select messages from
# through # FAQ
[/[Print]\]
Goto page Previous  1, 2, 3, 4, 5, 6, 7  Next  :| |:
Total Commander -> Автоматизация Total Commander

#16:  Author: FlasherLocation: Москва PostPosted: Wed Aug 31, 2016 12:37
    —
BeardFury78 wrote:
но я лично не нашел
Плохо искал.

#17:  Author: AvadaLocation: Россия, Саратов PostPosted: Wed Aug 31, 2016 13:11
    —
Тема объединена с имеющейся.

#18:  Author: FlasherLocation: Москва PostPosted: Wed Aug 31, 2016 14:03
    —
BeardFury78
Есть, кстати, такой скрипт без необходимости выделять. Только там нет нулей спереди. Можно попробовать допилить под заданные условия. Правда надо ещё учесть тип сортировки.

#19:  Author: BeardFury78 PostPosted: Wed Aug 31, 2016 15:14
    —
Flasher
Спасибо за указание нужной темы. Однако первый скрипт переименовывает совсем не так, как мне нужно. Второй скрипт не сработал, выдает ошибку.

#20:  Author: FlasherLocation: Москва PostPosted: Wed Aug 31, 2016 16:02
    —
BeardFury78
Я в курсе, что не так. Второй тоже не так, в шапке описано как.
Я спрашиваю, если обработка структуры годится, то какой будет тип сортировки?

#21:  Author: BeardFury78 PostPosted: Wed Aug 31, 2016 16:05
    —
Flasher
Тип сортировки файлов пусть будет по имени в порядке убывания.

#22:  Author: FlasherLocation: Москва PostPosted: Wed Aug 31, 2016 19:44
    —
BeardFury78
Не стал я заморачиваться с номерными именами. Сделал простой вариант для обычных имён:
Code:
'=======================================================
' Дописать в имена файлов в структуре активного каталога
' номерной префикс от 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


Last edited by Flasher on Thu Sep 01, 2016 12:17; edited 2 times in total

#23:  Author: BeardFury78 PostPosted: Thu Sep 01, 2016 10:25
    —
Flasher
Очень хорошо. А можно еще вариант, но с просто алфавитной сортировкой? Чтобы когда потребуется нумеровать имена в порядке увеличения, использовать другой вариант такого скрипта.

#24:  Author: FlasherLocation: Москва PostPosted: Thu Sep 01, 2016 12:13
    —
BeardFury78
Добавил параметр.

#25:  Author: BeardFury78 PostPosted: Thu Sep 01, 2016 13:23
    —
Flasher
Отлично, большое спасибо, пользуюсь этим скриптом.

#26: Выборочное переименование файлов Author: r136a8 PostPosted: Fri Oct 28, 2016 13:07
    —
Добрый день такая задача, нужно переименовать файлы в количестве 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 и т.д.)

Возможно ли это сделать и как возможно через другую программу.

#27:  Author: ВахмуркаLocation: Большая деревня Москва PostPosted: Fri Oct 28, 2016 15:36
    —
Ставишь курсор на первый файл, запускаешь скрипт с шагом 3 и выделенное переименовываешь по маске set[С]-1. Они, видимо, попадут в конец списка. Потом то же, но 2 и set[С]-2. Оставшееся set[С]-3. Как-то так.
Не забудь сделать резервную копию!

#28:  Author: r136a8 PostPosted: Fri Oct 28, 2016 18:10
    —
Получается я сначала переименую все файлы от set1-1 до set365-1 потом от set1-2 до set365-2 и от set1-3 до set365-3
Так?

#29:  Author: ВахмуркаLocation: Большая деревня Москва PostPosted: Fri Oct 28, 2016 18:15
    —
Во-первых, насколько я знаю арифметику, 1200/3=400, а не 365. Во-вторых, выделение не должно касаться уже переименованных файлов. Проще всего их перемещать в другую директорию, хотя можно и Shift+Down

#30:  Author: FlasherLocation: Москва PostPosted: Sat Oct 29, 2016 02:16
    —
r136a8 wrote:
Файлы названы от 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.
Так?

Да, и не нужно создавать новую тему, когда есть, где спросить.



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


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

Goto page Previous  1, 2, 3, 4, 5, 6, 7  Next  :| |:
Page 2 of 7

Powered by phpBB © 2001, 2005 phpBB Group