Total Commander Forum Index Total Commander
Форум поддержки пользователей Total Commander
Сайты: Все о Total Commander | Totalcmd.net | Ghisler.com | RU.TCKB
 
 RulesRules   SearchSearch   FAQFAQ   MemberlistMemberlist   UsergroupsUsergroups   RegisterRegister 
 ProfileProfile   Log in to check your private messagesLog in to check your private messages   Log inLog in 

Переименование с периодическим сбросом счётчика
Goto page Previous  1, 2, 3, 4, 5, 6, 7  Next
 
Post new topic   Reply to topic    Total Commander Forum Index -> Автоматизация Total Commander printer-friendly view
View previous topic :: View next topic  
Author Message
Flasher



Joined: 06 Nov 2009
Posts: 14229
Location: Москва

Post (Separately) Posted: Wed Aug 31, 2016 12:37    Post subject: Reply with quote

BeardFury78 wrote:
но я лично не нашел
Плохо искал.
_________________
Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой.
Back to top
View user's profile Send private message
Avada



Joined: 01 Aug 2008
Posts: 10236
Location: Россия, Саратов

Post (Separately) Posted: Wed Aug 31, 2016 13:11    Post subject: Reply with quote

Тема объединена с имеющейся.
_________________
Даже самая богатая фантазия
Не представит себе наши безобразия.
Back to top
View user's profile Send private message
Flasher



Joined: 06 Nov 2009
Posts: 14229
Location: Москва

Post (Separately) Posted: Wed Aug 31, 2016 14:03    Post subject: Reply with quote

BeardFury78
Есть, кстати, такой скрипт без необходимости выделять. Только там нет нулей спереди. Можно попробовать допилить под заданные условия. Правда надо ещё учесть тип сортировки.
_________________
Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой.
Back to top
View user's profile Send private message
BeardFury78



Joined: 25 Aug 2016
Posts: 213

Post (Separately) Posted: Wed Aug 31, 2016 15:14    Post subject: Reply with quote

Flasher
Спасибо за указание нужной темы. Однако первый скрипт переименовывает совсем не так, как мне нужно. Второй скрипт не сработал, выдает ошибку.
Back to top
View user's profile Send private message
Flasher



Joined: 06 Nov 2009
Posts: 14229
Location: Москва

Post (Separately) Posted: Wed Aug 31, 2016 16:02    Post subject: Reply with quote

BeardFury78
Я в курсе, что не так. Второй тоже не так, в шапке описано как.
Я спрашиваю, если обработка структуры годится, то какой будет тип сортировки?
_________________
Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой.
Back to top
View user's profile Send private message
BeardFury78



Joined: 25 Aug 2016
Posts: 213

Post (Separately) Posted: Wed Aug 31, 2016 16:05    Post subject: Reply with quote

Flasher
Тип сортировки файлов пусть будет по имени в порядке убывания.
Back to top
View user's profile Send private message
Flasher



Joined: 06 Nov 2009
Posts: 14229
Location: Москва

Post (Separately) Posted: Wed Aug 31, 2016 19:44    Post subject: Reply with quote

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

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


Last edited by Flasher on Thu Sep 01, 2016 12:17; edited 2 times in total
Back to top
View user's profile Send private message
BeardFury78



Joined: 25 Aug 2016
Posts: 213

Post (Separately) Posted: Thu Sep 01, 2016 10:25    Post subject: Reply with quote

Flasher
Очень хорошо. А можно еще вариант, но с просто алфавитной сортировкой? Чтобы когда потребуется нумеровать имена в порядке увеличения, использовать другой вариант такого скрипта.
Back to top
View user's profile Send private message
Flasher



Joined: 06 Nov 2009
Posts: 14229
Location: Москва

Post (Separately) Posted: Thu Sep 01, 2016 12:13    Post subject: Reply with quote

BeardFury78
Добавил параметр.
_________________
Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой.
Back to top
View user's profile Send private message
BeardFury78



Joined: 25 Aug 2016
Posts: 213

Post (Separately) Posted: Thu Sep 01, 2016 13:23    Post subject: Reply with quote

Flasher
Отлично, большое спасибо, пользуюсь этим скриптом.
Back to top
View user's profile Send private message
r136a8



Joined: 28 Oct 2016
Posts: 3

Post (Separately) Posted: Fri Oct 28, 2016 13:07    Post subject: Выборочное переименование файлов Reply with quote

Добрый день такая задача, нужно переименовать файлы в количестве 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 и т.д.)

Возможно ли это сделать и как возможно через другую программу.
Back to top
View user's profile Send private message
Вахмурка



Joined: 27 Dec 2004
Posts: 2584
Location: Большая деревня Москва

Post (Separately) Posted: Fri Oct 28, 2016 15:36    Post subject: Reply with quote

Ставишь курсор на первый файл, запускаешь скрипт с шагом 3 и выделенное переименовываешь по маске set[С]-1. Они, видимо, попадут в конец списка. Потом то же, но 2 и set[С]-2. Оставшееся set[С]-3. Как-то так.
Не забудь сделать резервную копию!
_________________
Сайт PowerPro+Total Commander
Скрипты PowerPro для Total Commander
* * *
«Не усматривайте злого умысла в том, что вполне объяснимо глупостью» (Р. Хэнлон)
Back to top
View user's profile Send private message
r136a8



Joined: 28 Oct 2016
Posts: 3

Post (Separately) Posted: Fri Oct 28, 2016 18:10    Post subject: Reply with quote

Получается я сначала переименую все файлы от set1-1 до set365-1 потом от set1-2 до set365-2 и от set1-3 до set365-3
Так?
Back to top
View user's profile Send private message
Вахмурка



Joined: 27 Dec 2004
Posts: 2584
Location: Большая деревня Москва

Post (Separately) Posted: Fri Oct 28, 2016 18:15    Post subject: Reply with quote

Во-первых, насколько я знаю арифметику, 1200/3=400, а не 365. Во-вторых, выделение не должно касаться уже переименованных файлов. Проще всего их перемещать в другую директорию, хотя можно и Shift+Down
_________________
Сайт PowerPro+Total Commander
Скрипты PowerPro для Total Commander
* * *
«Не усматривайте злого умысла в том, что вполне объяснимо глупостью» (Р. Хэнлон)
Back to top
View user's profile Send private message
Flasher



Joined: 06 Nov 2009
Posts: 14229
Location: Москва

Post (Separately) Posted: Sat Oct 29, 2016 02:16    Post subject: Reply with quote

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.
Так?

Да, и не нужно создавать новую тему, когда есть, где спросить.
_________________
Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой.
Back to top
View user's profile Send private message
Display posts from previous:   
Post new topic   Reply to topic    Total Commander Forum Index -> Автоматизация Total Commander All times are GMT + 4 Hours
Goto page Previous  1, 2, 3, 4, 5, 6, 7  Next
Page 2 of 7

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum


Powered by phpBB © 2001, 2005 phpBB Group