Flasher

|
Posted: Mon Sep 09, 2013 00:10 Post subject: |
|
|
oshizelly wrote: | чем он пребывает в заблуждении, что всё получилось, как он рассчитывал | Суть автоматизации в том, чтобы юзер вообще об этом не думал. Если есть совпавшие элементы, которые были пропущены, то и мыслить об этом не имеет смысла, так как всё и так будет на своих местах.
oshizelly wrote: | если не считать непонятной для меня ссылки на Helper | Это пока единственное, чем я могу реализовать подобный алгоритм.
Сообщения не трогаю. Предлагаю пока потестить, что есть:
Code: | '======================================================================================
' Присвоение имени элемента из пассивной панели выбранным элементам в активной
' Условие: путь запуска пустой
' Параметры: 1) %WL; 2) "%T"; 3) "%M"; 4) <полное/базовое имя: 0/1>;
' 5) <при совпадении пропускать/добавлять № счётчика: 0/1>
' Пример: %WL "%T" "%M" 0 1
'======================================================================================
With WScript.Arguments
If .Count = 0 Then WScript.Quit
List = .Item(0) : T = .Item(1) : Name = .Item(2) : OBN = .Item(3) : Add = .Item(4)
End With : Const M = 0
Set FSO = CreateObject("Scripting.FileSystemObject")
For Each F in Split(FSO.GetFile(List).OpenAsTextStream(1, -1).ReadAll, vbNewLine)
If F <> "" Then
NN = Name
If FSO.FileExists(F) Then
If OBN Then
Ext = FSO.GetExtensionName(F)
If FSO.FileExists(T & Name) Then NN = FSO.GetBaseName(Name) & "." & Ext Else _
NN = FSO.GetFileName(Name) & "." & Ext
End If : If Add Then ReName NN
If Not FSO.FileExists(NN) Then FSO.GetFile(F).Name = NN
Else
If FSO.FileExists(T & NN) Then NN = FSO.GetBaseName(NN)
If Add Then ReName NN
If Not FSO.FolderExists(NN) Then FSO.GetFolder(F).Name = FSO.GetFileName(NN)
End If
End If
Next : Set FSO = Nothing
Sub Rename(FName)
FN = FName : n = 0
Do While FSO.FileExists(FName) Or FSO.FolderExists(FName)
n = n + 1 : If n < 10^M Then PFix = Right(String(M, "0") & n, M) Else PFix = n
If FSO.FileExists(FN) Then
FName = FSO.GetBaseName(FN) & " (" & PFix & ")." & FSO.GetExtensionName(FN)
Else FName = FSO.GetFileName(FN) & " (" & PFix & ")"
End If
Loop
End Sub |
_________________ Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой. |
|