Что нового

ZIP.au3 разрезать архив...

Автор
A

armenxxx1

Продвинутый
Сообщения
155
Репутация
56
Также нашли хорошую функцию для скрывать окна сжатия....

Код:
#include "Zip.au3"
AdlibRegister("Hider", 10)
$Zip = _Zip_Create(@ScriptDir & "\test.zip")
_Zip_AddFolder($Zip, @ScriptDir & "\test")

Func Hider()
    If BitAnd(WinGetState("Compressing"), 2) = 2 Then
        WinSetState("Compressing", "", @SW_HIDE)
        AdlibUnRegister("Hider")
    EndIf
EndFunc


если кто-то можете добавить их к Zip.au3 будет намного лучше. :smile:
 

madmasles

Модератор
Глобальный модератор
Сообщения
7,790
Репутация
2,322
Автор
A

armenxxx1

Продвинутый
Сообщения
155
Репутация
56
Например, 100Мб архив хочу разрезать (split) на 10 файлов по 10мб. такая функция есть в WinRar
 

Redline

AutoIT Гуру
Сообщения
506
Репутация
375
Нужно разрезать уже готовый архив, или создать многотомный архив?
Для этих целей лучше подойдет 7zip UDF
В первом случае сначала придется распаковать _7ZIPExtract, а потом упаковать заново через _7ZipAdd, указав в качестве ключа $sVolume размер тома в байтах.
Во втором случае просто упаковать.

Код:
; Name...........: _7ZipAdd
; Description ...: Adds files to archive
; Syntax.........: _7ZipAdd($hWnd, $sArcName, $sFileName[, $sHide = 0[, $sCompress = 5[, $sRecurse = 1[, $sIncludeFile = 0[, _
;				   $sExcludeFile = 0[, $sPassword = 0[, $sSFX = 0[, $sVolume = 0[, $sWorkDir = 0]]]]]]]]])
; Parameters ....: $hWnd         - Handle to parent or owner window
;				   $sArcName     - Archive file name
;				   $sFileName    - File names to archive up
;				   $sHide        - Use this switch if you want the CallBack function to be called
;				   $sCompress    - Compress level 0-9
;				   $sRecurse     - Recursion method: 0 - Disable recursion
;													 1 - Enable recursion
;													 2 - Enable recursion only for wildcard names
;				   $sIncludeFile - Include filenames, specifies filenames and wildcards or list file that specify processed files
;				   $sExcludeFile - Exclude filenames, specifies what filenames or (and) wildcards must be excluded from operation
;				   $sPassword    - Specifies password
;				   $sSFX         - Creates self extracting archive
;				   $sVolume      - Specifies volumes sizes
;				   $sWorkDir     - Sets working directory for temporary base archive
; Return values .: Success       - Returns the string with results
;                  Failure       - Returns 0 and and sets the @error flag to 1
 
Автор
A

armenxxx1

Продвинутый
Сообщения
155
Репутация
56
Привет хочу создать многотомный архив... 7zip UDF является не эффективной, потому что должны быть установлены WinRar (rar.exe) или 7zip (7z.exe) а "Zip.au3" используя встроенные средства Windows...

madmasles спасибо :smile:
 

Redline

AutoIT Гуру
Сообщения
506
Репутация
375
armenxxx1 [?]
должны быть установлены WinRar (rar.exe) или 7zip (7z.exe)

В состав 7zip UDF идет dll - ее достаточно чтобы работать с 7zip.
Только что сам проверил снес winrar & 7zip - все работает.
Так что можно запихать библиотеку в программу и работать.
 
Автор
A

armenxxx1

Продвинутый
Сообщения
155
Репутация
56
Да, но таким образом размер сценарий будет нарастать...
 
Верх