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

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

Аватара для K.A.V.

Ленивый кусок мяса


Contributor


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

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


Цитата MaGoth:
можете подсказать справку или что нибудь подобное применительно работы с архивами в Нсис »
Даже и не знаю, как ответить на этот вопрос...
Всё, что я видел по NSIS - оригинальная справка, с которой началось моё изучение NSIS, мне хватает того, что у меня в голове, так что по NSIS информацию не искал и не знаю, что есть помимо плагинов, примеров на оф. сайте и того, что в шапке этой темы.
Если есть конкретные вопросы - задавайте, постараемся помочь по мере текущих наших знаний в NSIS
Если брать работу с архивами, ну, что здесь можно сказать? Всё идёт к одному - к работе с консольной версией конкретного архиватора (параметры/ключи, но это можно и самому посмотреть в справке ахиватора), либо к работе с его dll, с помощью которых можно производить распаковку архива, но копаться в этом лично у меня нет желания.
Есть, опять же, плагины для NSIS, для распаковки архивов

был тут ещё разговор про RAR dll для NSIS, не знаю, работает ли эта dll для новых архивов, лень проверять

Цитата MaGoth:
из вашего примера не совсем понял, как например распаковывать содержимое отдельно взятого вложенного каталога, из кучи каталогов в архиве »
Ну там же всё просто, какие там комменты то...
Код: Выделить весь код
Section "1"
 DetailPrint "Распаковка папки 1..."
 Push "Папка 1"
 Push "$INSTDIR"
  call _7ZipExtractFileFunc
SectionEnd
Push "Папка 1" - указывает, какую директорию распаковать из архива
Push "$INSTDIR" - указывает, в какую директорию распаковать
Эти команды передают функции _7ZipExtractFileFunc наши папки

Код: Выделить весь код
Function _7ZipExtractFileFunc
  pop $2
  pop $1
 CreateDirectory "$2"
 ExecDos::exec /NOUNLOAD /ASYNC /DETAILED '$PLUGINSDIR\7za.exe x "$EXEDIR\data.7z" -o"$2" "$1" -aoa -y -sccWIN' "" $0
    Pop $0
 ExecDos::wait $0
FunctionEnd
Команды pop принимают передаваемые параметры и используют эти параметры в командной строке архиватора
$1 - директория, которая распаковывается
$2 - директория, куда распаковываются файлы

Распаковать можно с полными путями только папку, которая лежит в корне архива, нельзя распаковать (вроде бы ) вложенную подпапку в какой-либо папке с сохранением всей структуры каталогов

-------
[Справочник по командам Windows] -- [Справочник по NSIS] -- [SFX Creator - для создания SFX архивов]


Отправлено: 21:40, 09-02-2015 | #1478