Имя пользователя:
Пароль:
 

Показать сообщение отдельно

Googler


Сообщения: 3665
Благодарности: 1563

Профиль | Отправить PM | Цитировать


Цитата Pozia:
как в скрипте задать относительный путь »
подправил - путь к Тоталу и имя BAR-файла задаются вручную, по ходу немного изменил алгоритм:
Код: Выделить весь код
#include <WinAPI.au3>

$sRoot = @ProgramFilesDir &"\TC"
$sFile = $sRoot  &"\Default.Bar"

$sBBar = FileRead($sFile)
EnvSet("COMMANDER_PATH", $sRoot)
$sBBar = _TCMD_ButtonBarPack($sBBar)
$hFile = FileOpen($sFile, 2)
FileWrite($hFile, $sBBar)

Func _TCMD_ButtonBarPack($sBBar)
    Local $iBOut, $sBOut=@CRLF, $sCMD, $sPath, $aBBar=StringRegExp($sBBar,"(?mi)^([a-z_]+(\d+)=[^\n]*[\n\r]+(?:[a-z_]+\2=[^\n]*[\n\r]+)*)",3)
    For $i=0 To UBound($aBBar)-1 Step 2
        Opt("ExpandEnvStrings", 1)
        $sPath = StringRegExpReplace($aBBar[$i],'(?is)^.*?(?:^|[\n\r])path\d+="*([^"\n\r]+).*$',"\1")
        If @extended=1 And $sPath<>"" Then FileChangeDir($sPath)
        $sCMD =StringRegExpReplace($aBBar[$i],'(?is)^.*?(?:^|[\n\r])cmd\d+=(?:cm_|cd |"+([^"\n\r]+)"+|([^"\s\n\r\\]+)(?:[\n\r\s]|$)|([^"\n\r]+)).*$',"\1\2\3")
        If @extended=0 Or $sCMD="" Or FileExists($sCMD) Or _WinAPI_FindExecutable($sCMD)<>"" Then
            $iBOut +=1
            Opt("ExpandEnvStrings", 0)
            $sBOut &= StringReplace($aBBar[$i], $aBBar[$i+1]&'=', $iBOut &'=')
        EndIf
    Next
    Return SetError(0, Opt("ExpandEnvStrings",0), "[ButtonBar]"&@CRLF&"ButtonCount="& $iBOut & $sBOut)
EndFunc
Цитата Pozia:
нашел недароботку. Удаляется кнопка 7z »
странно, у меня вроде нормально - если файл Button.exe есть по указанному пути, то оставляет... кстати, скрипт среди множества встроенных CMD-команд распознает только "CD" - все другие (из длинного списка HELP) будут удалены

Последний раз редактировалось amel27, 16-03-2009 в 09:20.

Это сообщение посчитали полезным следующие участники:

Отправлено: 08:34, 16-03-2009 | #16