Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  

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

Аватара для gora

Ушёл из жизни


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

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


Т.к. Oleg_Sch ни как не порадует нас "давно обещанным" GUI, да и hobbeat что-то пропал , всем тем, кому приходиться создавать/отлаживать SFX архивы, предлагаю "малую механизацию" этого процесса.
Предлагаю создать кнопку в Total Commander-e (далее TC) для этого процесса. После ее создания нужно только выделить два файла (7-z архив и файл конфигурации), на одной из панелей TC, и нажать эту кнопку. SFX архив будет создан в этом же каталоге (открытом в этой панели TC) с именем, полученным из имени 7-z архива заменой расширения с .7z на .exe. Ни какие файлы не удаляются. Если SFX архив с таким именем уже существует, он будет переписан.
Для этой кнопки понадобиться утилита lst2str от JackFoo (есть в прикрепленном архиве с русским readme), кнопка и .bat файл.

Кнопка:
Код: Выделить весь код
TOTALCMD#BAR#DATA
%commander_path%\Utilites\lst2str\lst2str.exe
/X:"D:\totalcmd\Utilites\CreateSFX\comndlin.bat" /L:%L /N:2
%commander_path%\WCMICONS.DLL,20
Создание SFX архива
%commander_path%\Utilites\CreateSFX\comndlin.bat

-1
.bat файл (comndlin.bat):
Код: Выделить весь код
@ECHO off
set error=Мало данных.
IF "%~x2"=="" GOTO Err_msg
set config=%2
set len=%~z2
set archive=%1
set name=%~n1
set path_=%~dp1
IF %~x1==.7z GOTO Find1
set error=Нет 7z-архива.
IF NOT %~x2==.7z GOTO Err_msg
set config=%1
set len=%~z1
set archive=%2
set name=%~n2
set path_=%~dp2
:Find1
IF %len% GTR 10240 GOTO No_cfg
find /c ";!@Install@!UTF-8!" %config%
IF errorlevel 1 GOTO No_cfg
echo.
COPY /b "D:\DISTRIBUT\7-Zip\7zSD_499\7ZSD_LZMA.sfx" + %config% + %archive% "%path_%%name%.exe"
echo.
echo Создан SFX архив - "%name%.exe"
echo.
pause
exit

:No_cfg
set error=Нет файла конфигурации.
:Err_msg
echo.
echo %error%
echo.
echo Надо выделить только ДВА файла: 7z-архив и файл конфигурации.
echo.
pause
exit
Распакуйте файлы архива в папку TC.
Пути нужно изменить на свои. В первом файле пути к TC - строки 2, 3, 6, а во втором, путь к SFX модулю - строка 22 (COPY /b ...).
Чтобы создать кнопку, скопируете код в буфер обмена, затем щёлкните правой кнопкой по пустому месту на панели инструментов TC, и выберите пункт "Вставить" (этот пункт появится только в том случае, если в буфере обмена у вас правильный код кнопки).

Все, можете пользоваться!

ps Изменен принцип поиска файла конфигурации, исправлены мелкие ошибки - архив перезалит.

Последний раз редактировалось gora, 11-09-2007 в 10:42.

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

Отправлено: 18:45, 17-12-2006 | #298