Войти

Показать полную графическую версию : Получение данных из 7z для отображения в GUI


-TRM-
02-08-2018, 13:40
Приветствую ! Вопрос к профессионалам, скорее всего. Возможно ли получать данные из 7z при распаковке архива для дальнейшего отображения в GUI (извлекаемый текущий файл, процент извлечения, какой по счету извлекаемый файл) ?

Iska
02-08-2018, 14:25
Вот Вам примерная болванка:
AutoItSetOption("MustDeclareVars", 1)

Const $WshRunning = 0
Const $WshFinished = 1
Const $WshFailed = 2

Local $oWshShell = objCreate("Wscript.Shell")
Local $oWshExec = $oWshShell.Exec("""C:\Program Files\7-Zip\7z.exe"" x ""C:\Install\Mozilla Firefox\Mozilla Firefox 61.0.1\x64\Firefox Setup 61.0.1.exe"" -o""C:\Мои проекты\0178\Extract\"" ""*""")

If($oWshExec.Status <> $WshFailed) Then
Do
Sleep(100)

ConsoleWrite($oWshExec.StdOut.ReadAll())
ConsoleWriteError($oWshExec.StdErr.ReadAll())
Until $oWshExec.Status = $WshFinished
Else
ConsoleWrite($oWshExec.Status & @CRLF)
EndIf

Exit(0)
Кроме того, можно работать непосредственно с функциями из библиотек 7-Zip, но это будет заметно сложнее. Впрочем, возможно, что кто-то уже написал UDF под это дело.

-TRM-
02-08-2018, 15:38
Iska, Спасибо за пример, но в консоли при выполнении почему-то тихо.
возможно, что кто-то уже написал UDF под это дело. »
Надеюсь, буду ждать, может кто-то, что-то предложит.

Iska
02-08-2018, 15:58
но в консоли при выполнении почему-то тихо. »
У меня — нет:
https://i.imgur.com/4vDHhgF.png

-TRM-
02-08-2018, 16:52
У меня — нет »
Как бы все хорошо, но процента выполнения нет.

Iska
02-08-2018, 17:02
но процента выполнения нет. »
Кроме того, можно работать непосредственно с функциями из библиотек 7-Zip »

-TRM-
02-08-2018, 19:20
Кроме того, можно работать непосредственно с функциями из библиотек 7-Zip »
Я то и не против, только сколько раз пробовал по разному=результат нуль, можете подкинуть по свободе примерчик? Именно работа c 7z.exe интересует.

Iska
02-08-2018, 19:36
Именно работа c 7z.exe интересует. »
Работа с 7z.exe или с 7za.exe Вам никак не поможет получить желаемое:
извлекаемый текущий файл, процент извлечения, какой по счету извлекаемый файл »

можете подкинуть по свободе примерчик? »
Читайте здесь: 7Zip - AutoIt Example Scripts - AutoIt Forums (https://www.autoitscript.com/forum/topic/85094-7zip/) и здесь: Пользовательские функции (http://azjio.narod.ru/autoit3_docs/userfunctions/7Zip_Management.htm).

-TRM-
16-08-2018, 17:24
Iska, К сожелению, не понимается формат ISO по Вашим ссылкам :(

oz84
28-08-2018, 17:33
Iska
А почему Wscript.Shell? Есть какие-то преимущества перед Run() + StdoutRead()?

Iska
28-08-2018, 18:24
oz84, а) более привычно, б) не думаю, что есть.




© OSzone.net 2001-2012