Flasher

|
Posted: Wed Nov 18, 2015 13:38 Post subject: |
|
|
Если это намёк на упрощённый вариант исключительно для последних кнопок (потенциально только что добавленных), то:
 RemoveLastButtonFromDefinedToolbars.vbs Code: | '============================= VBS ==============================
' Удалить с указанных панелей инструментов последнюю кнопку
' Параметры: "<путь к каталогу c BAR-файлами>" <имена BAR-файлов>
' Пример: "%%COMMANDER_PATH%%\ButtonBars" Default.bar User.bar
' Автор - Flasher ©
'================================================================
Option Explicit : Dim Title, Arg, Cnt, Path, FSO, Par, FPath, Chek
Title = " Удаление последней кнопки c панелей инструментов "
Set Arg = WScript.Arguments : Cnt = Arg.Count
If Cnt < 2 Then MsgBox "Укажите не менее 2-х параметров!", 4144, Title
Path = CreateObject("WScript.Shell").ExpandEnvironmentStrings(Arg(0))
Set FSO = CreateObject("Scripting.FileSystemObject")
For Par = 1 To Cnt - 1
FPath = FSO.BuildPath(Path, Arg(Par))
If FSO.FileExists(FPath) Then Repl FPath, Chek
Next : If Chek Then _
MsgBox "Кнопка удалена со всех заданных панелей инструментов!", 4160, Title
Sub Repl(BarFile, Test)
Dim All, Count : All = FSO.OpenTextFile(BarFile).ReadAll : Test = 1
With New RegExp
.Multiline = True : .Pattern = "^(Buttoncount=)[1-9][0-9]*$"
Count = Split(.Execute(All)(0),"=")(1) : All = .Replace(All, "$1" & Count - 1)
.Global = True : .Pattern = "\r?\n(cmd|param|button|menu|path|iconic)" &_
Count & "=.*$" : All = .Replace(All, "")
End With : With FSO.OpenTextFile(BarFile, 2) : .Write All : .Close : End With
End Sub |
_________________ Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой. |
|