PrecompInside

CLS PrecompInside 0.3.1

Нет прав для скачивания

ExPlayer

Старожил
Люди добрые, а подскажите, пожалуйста, как правильно написать батник под lzmax64? А то я прочитал информацию в архиве, но если честно, то так ничего не понял.

Или хотя бы, подскажите, как правильно изменить уже существующий батник (т.е. что в нем надо написать или наоборот удалить), разумеется хочется использовать Precompinside:
Код:
arc.exe a -ep1 -dses --dirs -s; -lc- -di -i2 -r -mprecomp+lzma:mfbt4:d200m data-1.bin packeddata\*
pause
 
Последнее редактирование:

Mailchik

Старожил
Проверенный
ExPlayer, добавляете в arc.ini (если arc.ini нет, создаёте рядом с arc.exe) эти строчки:
Код:
[External compressor:lzma]
header = 0
packcmd   = FreeArc-LZMA-x64 e lzma{:option} $$arcdatafile$$.tmp $$arcpackedfile$$.tmp
unpackcmd = FreeArc-LZMA-x64 d lzma{:option} $$arcpackedfile$$.tmp $$arcdatafile$$.tmp
И сжимаете вашим батником.
 

ExPlayer

Старожил
ExPlayer, добавляете в arc.ini (если arc.ini нет, создаёте рядом с arc.exe) эти строчки:
Код:
[External compressor:lzma]
header = 0
packcmd   = FreeArc-LZMA-x64 e lzma{:option} $$arcdatafile$$.tmp $$arcpackedfile$$.tmp
unpackcmd = FreeArc-LZMA-x64 d lzma{:option} $$arcpackedfile$$.tmp $$arcdatafile$$.tmp
И сжимаете вашим батником.
Спасибо огромное :) :good:
 

ExPlayer

Старожил
Mailchik, блин... да что такое... опять ошибку про память выдал... сделал всё как Вы сказали. Помогите, пожалуйста! Вот папка, в которой я делаю все свои действия, может я что-то неправильно прописал?
 

Вложения

  • 1.1 MB Просмотры: 47

Mailchik

Старожил
Проверенный
ExPlayer, та же самая ошибка?
Вроде всё правильно прописано в батнике.
 

ExPlayer

Старожил
ExPlayer, та же самая ошибка?
Вроде всё правильно прописано в батнике.
хмм... скачал еще раз precompinside с krinkels. Только добавил lzmax64 и инфу в ini файл. Вроде без ошибок все. Возможно, что, что-то было с самим файлом. Большое спасибо за помощь. :good:
 

ExPlayer

Старожил
Эммм... у меня вопрос, а это так и должно быть (то что не появляется "pause")? И таймер по нулям. И файла "data-1.bin" нет.

scr.png
 

Mailchik

Старожил
Проверенный
ExPlayer, по идее да. Проверьте Temp. Если ошибок нет во всяком случае, то сжатие идёт.
 

Mailchik

Старожил
Проверенный
ExPlayer, по умолчанию временные файлы в "C:\Users\UserName\AppData\Local\Temp\freearcXXXXXXX.tmp" (XXXXXX - рандомные числа), если иное не указано в arc.ini.
В arc.ini свою папку для временных файлов можно указать так:
Код:
--workdir=E:\Temp\
Вставляете в начало arc.ini.
 

ExPlayer

Старожил
ExPlayer, по умолчанию временные файлы в "C:\Users\UserName\AppData\Local\Temp\freearcXXXXXXX.tmp" (XXXXXX - рандомные числа), если иное не указано в arc.ini.
В arc.ini свою папку для временных файлов можно указать так:
Код:
--workdir=E:\Temp\
Вставляете в начало arc.ini.
Понятно. Спасибо. Всё отлично сжимает :) Архиватор (извинияюсь если выражаюсь не правильно) работает корректно :)
 

ExPlayer

Старожил
Теперь у меня возник другой вопрос :)

А что нужно писать здесь:

Код:
if not ISArcExtract ( 0, 0, ExpandConstant('{src}\data-1.bin'), ExpandConstant('{app}'), '', false, '', '', ExpandConstant('{app}'), notPCFonFLY {PCFonFLY}) then break;
Вместо ISArcExtract?

И какую строчку нужно разкомментировать:

;#define PrecompInside

или

;#define precomp "0.42"
 

Mailchik

Старожил
Проверенный
А что нужно писать здесь:
К ISDone'у прилагается замечательная справка. Советую ознакомиться с ней. Все вопросы отпанут.
Если вкратце, то третий параметр - название архива, 4-й - путь распаковки, 7-й - пароль.
function ISArcExtract (CurComponent: Cardinal; PctOfTotal: double; InputFile, OutputPath, ExtractedPath: string; DeleteInFile: boolean; Password, CfgFile, WorkPath: string; ExtractPCF:boolean):boolean;
распаковывает arc архив(ы), заданный(ые) папкой и именем файла в InputFile, в каталог, указанный в OutputPath.
ExtractedPath - используется для распаковки части архива. Указывается имя папки, которая будет извлечена. Если данная фитча не требуется, то оставляйте данный параметр пустой строкой. Значение '*' распаковывает весь архив с последующим извлечением всех подкаталогов из корневых папок архива (мож кому понадобится);
CfgFile - путь и имя конфигурационного файла (arc.ini). Требуется для распаковки .arc архивов, созданных с использованием внешних компрессоров;
WorkPath - рабочий путь для распаковки временных файлов freearc'ом. Если при распаковке архива freearc создает большие темп-файлы (обычно это происходит если используются внешние компрессоры), то рекомендуется устанавливать рабочую папку в {app}, а то у пользователя может не быть места на системном диске, куда по умолчанию freearc пытается поместить темп-файл;
Password - пароль для распаковки архива(ов);
ExtractPCF - может иметь значение true или false. При распаковке FreeArc архива определяет будут ли распаковываться .pcf файлы "на лету". При активации данного режима при извлечении из .arc архива для каждого распакованного файла с расширением .pcf будет запускаться precomp, извлекающий данные из этого файла в ту же папку, и после удаляющий исходный. По идее данный режим должен увеличить скорость распаковки FreeArc архивов, содержащий много небольших pcf файлов, потому как сразу после извлечения одного из них, пока он еще будет находиться в кэше винды, можно быстренько его обработать precomp'ом, с минимальным обращением к винчестеру. Но на практике у меня получалось иначе, по крайней мере на XP (возможно на Win7 такой способ и выиграет стандартный 7z(без сжатия)+precomp+freearc).
В скрипте для параметра ExtractPCF применены константы notPCFonFLY и PCFonFLY - это на самом деле просто соответственно false и true. Применение таких констант позволит избежать путаницы с другим подобным параметром в функции распаковки arc-архивов - удалением входного архива (DeleteInFile).

Например:
if not ISArcExtract (0, 100, ExpandConstant('{src}\*.arc'), ExpandConstant('{app}\data'), '', false, 'Password', ExpandConstant('{tmp}\arc.ini'), ExpandConstant('{app}'), notPCFonFLY) then break;
распаковывает все архивы с расширением .arc из папки {src} (сканировать подкаталоги или нет задается в функции инициализации поиска FileSearchInit) в папку {app}\data\ без удаления исходного файла, с ручным распределением процентов (без тестового прогона, распределение происходит по размерам исходных архивов), паролем «Password», файлом конфигурации {tmp}\arc.ini и рабочей папкой в {app}, без извлечения .pcf файлов "на лету".​

И какую строчку нужно разкомментировать:
 

ExPlayer

Старожил
Mailchik, извинияюсь за глупый вопрос, но я правильно понял, что в этой строчке:

Код:
if not ISArcExtract ( 0, 0, ExpandConstant('{src}\data-1.bin'), ExpandConstant('{app}'), '', false, '', '', ExpandConstant('{app}'), notPCFonFLY {PCFonFLY}) then break;
ISArcExtract не надо менять?
 
Последнее редактирование:

ExPlayer

Старожил
А чего ему не хватает на этот раз?

Код батника:
Код:
arc.exe a -ep1 -dses --dirs -s; -lc- -di -i2 -r -mprecomp+lzma:mfbt4:d1024m data-1.bin packeddata\*
pause
scr.png
 
Сверху