'===================== VBS ======================
' Выделение элементов с именами из буфера обмена
' Условия: 1) требуется компонент TCScript.dll;
' 2) имена папок должны иметь \ на конце
' Параметры: "%P" <выдел. всё/файлы/папки: 1/2/3>
'================================================
Set R = New RegExp : R.Global = True : P = WSH.Arguments(0)
With CreateObject("TCScript.Helper")
.Pause = 0 : .Wait = True : Clip = .GetTextFromClip
R.Pattern = "^[\r\n]+|[\r\n]+$|\r?\n(?=(\r?\n)+)"
RClip = Replace(R.Replace(Clip, ""), vbNewline, "|")
R.Pattern = "([.;$+^\\\(\)\{\[])" : R.MultiLine = True
R.Pattern = "(^|\r\n)([^\r\n]+\\(" & R.Replace(RClip, "\$1") & "))$"
.NoArrayReturn = True : .LockTC True : .SendCommand 524, True
.SendCommand 3300 + WSH.Arguments(1), True
Sel = .GetSrcSelectedFiles(1) : .Sleep 20
For Each Path in R.Execute(Sel)
List = List & Path.Value
Next : .SendCommand 524, True
If P <> "" Then List = Replace(List, P, "") : .Sleep 20
.SetTextToClip List : .SendCommand 2033, True
.LockTC False : .SetTextToClip Clip
End With |