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 

Single Post  Topic: Переименование с периодическим сбросом счётчика 
Author Message
Flasher



PostPosted: 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
View user's profile Send private message


Powered by phpBB © 2001, 2005 phpBB Group