| Batya 
 
  
 
 | 
			
				|  Posted: Tue Feb 09, 2010 01:21    Post subject: |   |  
				| 
 |  
				|  	  | CaptainFlint wrote: |  	  | Если очень хочется, можно поковыряться с плагином script_wdx | 
 Не очень удачный вариант, т. к. счетчик в новых именах нужно наращивать и где-то хранить промежуточные значения.
 
 Сделал vbs-скрипт. Хорошенько погонять его времени нет. Проверь, правильно ли работает.
 
  	  | Code: |  	  | '===================================================
' Переименование файлов и папок из файла-списка
 '   по заданному счетчику
 '
 ' Параметры:
 ' {файл-список}
 '
 ' Пример параметров при вызове из TC:
 ' %L
 '===================================================
 Option Explicit
 '======== Изменяемые параметры =====================
 ' Символы счетчика
 Const Counter = "0123456789abcdefghijklmnopqrstuvwxyz"
 ' Лидирующий символ
 Const FirstSymbol = " "
 'Const FirstSymbol = "0"
 '===================================================
 
 Dim FSO, WSH, Str, List, N, i, F, Rank, K
 Set FSO = CreateObject("Scripting.FileSystemObject")
 Set WSH = CreateObject("WScript.Shell")
 Str     = FSO.OpenTextFile(GetPath(WScript.Arguments(0))).ReadAll
 List    = Split(Str, vbNewLine)
 N       = UBound(List)
 If List(N) = "" Then N = N - 1
 Rank = Len(Counter)
 K    = -Int(-Log(N+1)/Log(Rank))
 
 For i = 1 To N + 1
 F = GetPath(List(i - 1))
 If FSO.FolderExists(F) Then
 FSO.GetFolder(F).Name = Trim(Right(String(K, FirstSymbol) & GetWord(i), K))
 End If
 If FSO.FileExists(F) Then
 FSO.GetFile(F).Name = Trim(Right(String(K, FirstSymbol) & GetWord(i), K)) & "." & FSO.GetExtensionName(F)
 End If
 Next
 
 Set WSH = Nothing
 Set FSO = Nothing
 WScript.Quit 0
 
 Function GetPath(pPath)
 GetPath = FSO.GetAbsolutePathName(WSH.ExpandEnvironmentStrings(pPath))
 End Function
 
 Function GetWord(pNumber)
 Dim ln, lm, lRes
 ln   = Int(pNumber/Rank)
 lm   = pNumber Mod Rank
 lRes = Mid(Counter, lm + 1, 1)
 If ln > 0 Then lRes = GetWord(ln) + lRes
 GetWord = lRes
 End Function
 | 
 _________________
 Нет, я не сплю. Я просто медленно моргаю.
 |  |