Что нового

Как запустить консольный 7zip с ключами?

kyi

Чайник
Сообщения
43
Репутация
0
Добрый день!
Есть команда
Код:
"%cd%\util\7z.exe" x "%cd%\_in\%ZipFile%.zip" -o"%cd%\_in\"
Здесь все понятно как ясный день
Теперь хочу это же перевести в Autoit и тут у меня затык.
В справке нигде не написано как в Run указать ключи. - Run ( "program" [, "workingdir" [, show_flag [, opt_flag ]]] )
Сам пока додумался вот до этого.
Код:
Run (@WorkingDir&"\util\7z.exe"

а куда писать ключи? Это точно не workingdir!
 

Tempo

Скриптер
Сообщения
466
Репутация
122
kyi, пример к функции Run смотрели?
 

ra4o

Скриптер
Сообщения
978
Репутация
180
Для архиваторов есть UDF , например для 7z есть 7ZipM.au3
 
Автор
K

kyi

Чайник
Сообщения
43
Репутация
0
Tempo сказал(а):
kyi, пример к функции Run смотрели?
Да, конечно смотрел, не зря же я здесь даже строку из справки привел - Run ( "program" [, "workingdir" [, show_flag [, opt_flag ]]] )
Методом научного тыка (понимания пока не много) пришел вот к этому
Код:
Local $OpenFile=C:\Projects\NBKI\test.zip
Run (@WorkingDir&"\util\7z.exe"&" x "& $OpenFile&" -o"&@WorkingDir&"\_in\")


ra4o сказал(а):
Для архиваторов есть UDF , например для 7z есть 7ZipM.au3
Товарищи, я ценю ваше желание помочь, но я все еще далек от понимания программирования.
Поясните пожалуйста что такое UDF и что за файл такой 7ZipM.au3?
 

ra4o

Скриптер
Сообщения
978
Репутация
180
Поясните пожалуйста что такое UDF и что за файл такой 7ZipM.au3?
UDF - это пользовательские библиотеки , которые подключаюся к скрипту при помощи ключевого слова #include<Имя библиотеки> и вот , как раз "7ZipM.au3" и есть имя одной из библиотек по работе с файлами 7z , но это не стандартная библиотека, она не включена в состав Autoit , её нужно скачать отдельно и плюс сней идёт и dll (скачать можно по первой же ссылке в google) . В библиотеках всякие функции, которые облегчат Вам написание скриптов , например, что-бы извлечь файлы из архива достаточно воспользоваться функцией
Код:
_7ZIPExtract()
, которая включена в UDF "7Zip.au3"
Вот примеры из русской справки по этой функции:
Код:
; rasim
; http://www.autoitscript.com/forum/topic/85094-7zip/
#include <7Zip.au3>

; Пример 1
$ArcFile = FileOpenDialog("Выберите архив", "", "Архивы (*.7z;*.zip;*.gzip;*.bzip2;*.tar)")
If @error Then Exit

$Output = FileSelectFolder("Выберите каталог для извлечения", "")
If @error Then Exit

$retResult = _7ZIPExtract(0, $ArcFile, $Output)
If @error = 0 Then
    MsgBox(64, "_7ZIPExtractEx", $retResult)
Else
    MsgBox(64, "_7ZIPExtractEx", "Ошибка")
EndIf

; Пример 2
$ArcFile = FileOpenDialog("Выберите архив", "", "Архивы (*.7z;*.zip;*.gzip;*.bzip2;*.tar)")
If @error Then Exit

$Output = FileSelectFolder("Выберите каталог для извлечения", "")
If @error Then Exit

$retResult = _7ZIPExtract(0, $ArcFile, $Output, 0, 0, 1, 0, 0, 0, "*.wav")
If @error = 0 Then
    MsgBox(64, "_7ZIPExtractEx", $retResult)
Else
    MsgBox(64, "_7ZIPExtractEx", "Ошибка")
EndIf
 
Автор
K

kyi

Чайник
Сообщения
43
Репутация
0
Спасибо объяснение, попробую найти 7zip UDF
 
Верх