Скрытие в списке исключений выбранных файлов и папок
Q: Можно ли сделать, чтобы выделенные в любой из панелей файлы добавлялись в список исключений?
A: VBS-скрипт (см. параметры в шапке):
'================================================================================
' Добавление имён выбранных элементов в список исключений TC с активацией фильтра
' Параметры: %WL "<путь к файлу-списку>"
' Пример: %WL "%%COMMANDER_PATH%%\tcignore.txt"
' Автор: Flasher ©
'============================ Путь к утилите TCFS2 ==============================
TCFS2 = """%COMMANDER_PATH%\Utils\TCFS2\TCFS2.exe"""
'================================================================================
If WScript.Arguments.Count = 0 Then WScript.Quit
Dim WSH : Set WSH = CreateObject("WScript.Shell")
IL = WSH.ExpandEnvironmentStrings(WScript.Arguments(1))
NL = vbNewLine : Title = "Добавление имён в список исключений"
Msg = MsgBox("Добавлять полные пути" & NL & "к именам выбранных элементов?",_
4163, Title) : If Msg < 6 Then WScript.Quit
With CreateObject("Scripting.FileSystemObject")
All = .OpenTextFile(WScript.Arguments(0),,,-1).ReadAll
If Msg = 7 Then
For Each F in Split(All, NL) : S = S & NL & .GetFileName(F) : Next
All = Mid(S, 3)
End If
If .FileExists(IL) Then
M = 2 : Size = .GetFile(IL).Size : If Size = 0 Then NL = ""
Else M = 1 : NL = "" : End If
End With
With CreateObject("ADODB.Stream")
.Open : Enc = "windows-1251"
If M = 2 And Size Then
.LoadFromFile IL
If Size > 3 Then
.Type = 1
For s = 2 To 4
.Position = 0 : .Read(s) : Str = Str & Hex(AscB(.Read(2)))
Next : If Str = "EFBBBF" Then Enc = "UTF-8" : T = 1
.Close : .Type = 2 : .Open : .CharSet = Enc : .LoadFromFile IL
End If : Do : .SkipLine : Loop Until .EOS : Ps = .Position
For s = 1 To 100
Str = .ReadText : .Position = Ps - Len(Str) - 1
F = Left(Str, 1) : If .Position = 0 Then NL = "" : Exit For
If F <> "" And F <> vbLf And F <> vbCr Then .Position = .Position + 2 : Exit For
Next
Else .CharSet = Enc
End If : .WriteText NL & All
If Not T Then
.Position = 0 : All = .ReadText : .Close : .Open : .CharSet = "UTF-8" : .WriteText All
End If : .SaveToFile IL, M : .Close
End With : WSH.Run TCFS2 & " /ef ""if(tcini(Configuration, "&_
"IgnoreListFileEnabled, #), tcm(2922)+tcm(2922), tcm(2922))"""
Файл-список перезаписывается в формате UTF-8. Если он не существует, то будет создан.
Flasher
30.03.2015