Т.к.
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 Изменен принцип поиска файла конфигурации, исправлены мелкие ошибки - архив перезалит.