Flasher
|
Posted: Thu Jul 09, 2020 01:40 Post subject: |
|
|
sbm
Например, с Хелпером (установка в ReadMe; PCRE в WSH нет, т. ч. за регулярку пардоньте): Code: | '============================ VBS ============================
' Показать в другой панели папки с наибольшим числом буквенных
' комбинаций (в строгом порядке) у имён выбранных объектов
' Условие: требуется компонент TCScript.dll
' /f — ключ смены показа папок на фильтрацию файлов
'======================================== Автор: Flasher © ===
Option Explicit: Dim TP, i, Items, REx, Clip, F, N, L, M, c, Arr, S
With CreateObject("TCScript.Helper")
.Pause = 0 : TP = .GetInfo("TP") : i = .GetInfo(1000)
If Mid(TP,2,1) <> ":" Or ( .GetInfo(1004 + i) = 0 And _
.GetInfo(1006 + i) = 0 And .GetInfo(1008 + i) = 1 ) Then WSH.Quit
Set Items = CreateObject("Shell.Application").NameSpace(TP).Items
Set REx = New RegExp : REx.Global = 1: REx.Pattern = "[" &P& "]+"
REx.IgnoreCase = 1 : .Wait = True : Clip = .GetTextFromClip : .LockTC True
Dim Test, K : Test = WSH.Arguments.Named.Exists("f") : If Test Then K = 32
For Each F in .GetSrcSelectedFiles
If Test Or Right(F, 1) = "\" Then
N = REx.Replace(Left(F, Len(F) - 1), "*") : M = ""
For i = 1 To Len(N)
L = Mid(N, i, 1) : If L <> "*" And UCase(L) = L Then L = "*" & L
M = M & L
Next: N = M
If N = "*" Then
N = Left(F, Len(F) - 1)
Else
If Left(N, 1) = "*" Then N = Mid(N, 2)
If Right(N,1) = "*" Then N = Left(F, Len(F) - 1)
End If
Arr = Split(N, "*")
For c = Ubound(Arr) To 0 Step -1
Items.Filter 73888 + K, "*" & N & "*"
If Items.Count Then
If Test Then
For Each i in Items
i = Mid(i.Path, InStrRev(i.Path, "\") + 1)
If InStr(i, ";") > 0 Or InStr(i, " ") > 0 Then i = """" & i & """"
S = S & ";" & i
Next
Else
For Each i in Items
S = S & vbLf & i & "\"
Next
End If
Exit For
End If
If InStr(N, "*") Then N = Left(N, Len(N) - Len(Arr(c)))
Next
End If
Next
Set REx = Nothing : Set Items = Nothing
If Not IsEmpty(S) Then
If Test Then
If .INIRead(.TCPath & "\usercmd.ini", "em_cd", "cmd") <> "cd" Then
.INIWrite .TCPath & "\usercmd.ini", "em_cd", "cmd", "cd"
.INIWrite .TCPath & "\usercmd.ini", "em_cd", "param", "%Z%A"
End If
.SendCommand 4006, 1 : .UserCmd "em_cd " & S & "|*\" : .SendCommand 4006, 1
Else
.SetTextToClip Mid(S, 2)
For Each n in Array(4006,524,312,2033,2023,524,2049,4006)
.SendCommand n, 1
Next
End If: .LockTC False : .SetTextToClip Clip
End If
End With
Function P
P = Replace("\0000-\0040\005B-\0060\007B-\00A9\00AB-\00B4\00B6-\00B9"&_
"\00BB-\00BF\00D7\00F7\02C2-\02C5\02D2-\02DF\02E5-\02EB\02ED\02EF" &_
"-\036F\0375\0378-\0379\037E\0380-\0385\0387\038B\038D\03A2\03F6" &_
"\0482-\0489\0530\0557-\0558\055A-\0560\0588-\05CF\05EB-\05EF\05F3-" &_
"\061F\064B-\066D\0670\06D4\06D6-\06E4\06E7-\06ED\06F0-\06F9\06FD-" &_
"\06FE\0700-\070F\0711\0730-\074C\07A6-\07B0\07B2-\07C9\07EB-\07F3" &_
"\07F6-\07F9\07FB-\07FF\0816-\0819\081B-\0823\0825-\0827\0829-\083F" &_
"\0859-\089F\08B3-\0903\093A-\093C\093E-\094F\0951-\0957\0962-\0970" &_
"\0981-\0984\098D-\098E\0991-\0992\09A9\09B1\09B3-\09B5\09BA-\09BC" &_
"\09BE-\09CD\09CF-\09DB\09DE\09E2-\09EF\09F2-\0A04\0A0B-\0A0E\0A11" &_
"-\0A12\0A29\0A31\0A34\0A37\0A3A-\0A58\0A5D\0A5F-\0A71\0A75-\0A84" &_
"\0A8E\0A92\0AA9\0AB1\0AB4\0ABA-\0ABC\0ABE-\0ACF\0AD1-\0ADF\0AE2-" &_
"\0B04\0B0D-\0B0E\0B11-\0B12\0B29\0B31\0B34\0B3A-\0B3C\0B3E-\0B5B" &_
"\0B5E\0B62-\0B70\0B72-\0B82\0B84\0B8B-\0B8D\0B91\0B96-\0B98\0B9B" &_
"\0B9D\0BA0-\0BA2\0BA5-\0BA7\0BAB-\0BAD\0BBA-\0BCF\0BD1-\0C04\0C0D" &_
"\0C11\0C29\0C3A-\0C3C\0C3E-\0C57\0C5A-\0C5F\0C62-\0C84\0C8D\0C91" &_
"\0CA9\0CB4\0CBA-\0CBC\0CBE-\0CDD\0CDF\0CE2-\0CF0\0CF3-\0D04\0D0D" &_
"\0D11\0D3B-\0D3C\0D3E-\0D4D\0D4F-\0D5F\0D62-\0D79\0D80-\0D84\0D97" &_
"-\0D99\0DB2\0DBC\0DBE-\0DBF\0DC7-\0E00\0E31\0E34-\0E3F\0E47-\0E80" &_
"\0E83\0E85-\0E86\0E89\0E8B-\0E8C\0E8E-\0E93\0E98\0EA0\0EA4\0EA6" &_
"\0EA8-\0EA9\0EAC\0EB1\0EB4-\0EBC\0EBE-\0EBF\0EC5\0EC7-\0EDB\0EE0-" &_
"\0EFF\0F01-\0F3F\0F48\0F6D-\0F87\0F8D-\0FFF\102B-\103E\1040-\104F" &_
"\1056-\1059\105E-\1060\1062-\1064\1067-\106D\1071-\1074\1082-\108D" &_
"\108F-\109F\10C6\10C8-\10CC\10CE-\10CF\10FB\1249\124E-\124F\1257" &_
"\1259\125E-\125F\1289\128E-\128F\12B1\12B6-\12B7\12BF\12C1\12C6-" &_
"\12C7\12D7\1311\1316-\1317\135B-\137F\1390-\139F\13F5-\1400\166D-" &_
"\166E\1680\169B-\169F\16EB-\16F0\16F9-\16FF\170D\1712-\171F\1732-" &_
"\173F\1752-\175F\176D\1771-\177F\17B4-\17D6\17D8-\17DB\17DD-\181F" &_
"\1878-\187F\18A9\18AB-\18AF\18F6-\18FF\191F-\194F\196E-\196F\1975" &_
"-\197F\19AC-\19C0\19C8-\19FF\1A17-\1A1F\1A55-\1AA6\1AA8-\1B04\1B34" &_
"-\1B44\1B4C-\1B82\1BA1-\1BAD\1BB0-\1BB9\1BE6-\1BFF\1C24-\1C4C\1C50" &_
"-\1C59\1C7E-\1CE8\1CED\1CF2-\1CF4\1CF7-\1CFF\1DC0-\1DFF\1F16-\1F17" &_
"\1F1E-\1F1F\1F46-\1F47\1F4E-\1F4F\1F58\1F5A\1F5C\1F5E\1F7E-\1F7F" &_
"\1FB5\1FBD\1FBF-\1FC1\1FC5\1FCD-\1FCF\1FD4-\1FD5\1FDC-\1FDF\1FED-" &_
"\1FF1\1FF5\1FFD-\2070\2072-\207E\2080-\208F\209D-\2101\2103-\2106" &_
"\2108-\2109\2114\2116-\2118\211E-\2123\2125\2127\2129\212E\213A-" &_
"\213B\2140-\2144\214A-\214D\214F-\2182\2185-\2BFF\2C2F\2C5F\2CE5-" &_
"\2CEA\2CEF-\2CF1\2CF4-\2CFF\2D26\2D28-\2D2C\2D2E-\2D2F\2D68-\2D6E" &_
"\2D70-\2D7F\2D97-\2D9F\2DA7\2DAF\2DB7\2DBF\2DC7\2DCF\2DD7\2DDF-" &_
"\2E2E\2E30-\3004\3007-\3030\3036-\303A\303D-\3040\3097-\309C\30A0" &_
"\30FB\3100-\3104\312E-\3130\318F-\319F\31BB-\31EF\3200-\33FF\4DB6-" &_
"\4DFF\9FCD-\9FFF\A48D-\A4CF\A4FE-\A4FF\A60D-\A60F\A620-\A629\A62C-" &_
"\A63F\A66F-\A67E\A69E-\A69F\A6E6-\A716\A720-\A721\A789-\A78A\A78F" &_
"\A7AE-\A7AF\A7B2-\A7F6\A802\A806\A80B\A823-\A83F\A874-\A881\A8B4-" &_
"\A8F1\A8F8-\A8FA\A8FC-\A909\A926-\A92F\A947-\A95F\A97D-\A983\A9B3-" &_
"\A9CE\A9D0-\A9DF\A9E5\A9F0-\A9F9\A9FF\AA29-\AA3F\AA43\AA4C-\AA5F" &_
"\AA77-\AA79\AA7B-\AA7D\AAB0\AAB2-\AAB4\AAB7-\AAB8\AABE-\AABF\AAC1" &_
"\AAC3-\AADA\AADE-\AADF\AAEB-\AAF1\AAF5-\AB00\AB07-\AB08\AB0F-\AB10" &_
"\AB17-\AB1F\AB27\AB2F\AB5B\AB60-\AB63\AB66-\ABBF\ABE3-\ABFF\D7A4-" &_
"\D7AF\D7C7-\D7CA\D7FC-\D7FF\D804-\D807\D809-\D80B\D80E-\D819\D81B-" &_
"\D82B\D82D-\D82E\D830-\D834\D836-\D839\D83B-\D83F\D86F-\D87D\D87F-" &_
"\F8FF\FA6E-\FA6F\FADA-\FAFF\FB07-\FB12\FB18-\FB1C\FB1E\FB29\FB37" &_
"\FB3D\FB3F\FB42\FB45\FBB2-\FBD2\FD3E-\FD4F\FD90-\FD91\FDC8-\FDEF" &_
"\FDFC-\FE6F\FE75\FEFD-\FF20\FF3B-\FF40\FF5B-\FF65\FFBF-\FFC1\FFC8-" &_
"\FFC9\FFD0-\FFD1\FFD8-\FFD9\FFDD-\FFFF", "\", "\u")
End Function |
_________________ Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой.
Last edited by Flasher on Sun Jul 19, 2020 22:37; edited 3 times in total |
|