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

Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » AutoIt » [решено] Распаковать архив 7-zip из программы на компьютере, где нет архиваторов

Ответить
Настройки темы
[решено] Распаковать архив 7-zip из программы на компьютере, где нет архиваторов

Аватара для Pavluha

Старожил


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


Конфигурация

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


Изменения
Автор: Pavluha
Дата: 03-11-2013
Описание: Изменил заголовок на более информативный
Здравствуйте. В файл программы внедрён (функцией FileInstall) архив 7-zip. Мне нужно закинуть этот архив во временную папку, получить содержимое архива, переместить разархивированные файлы в место назначения и удалить временную папку. Предположим, что у пользователя не установлен архиваторы 7-zip, WinRAR и им подобные. Как распаковать архив?

Вот код программы:
Код: Выделить весь код
GUICreate ('Тест', 500, 40)
GUICtrlCreateLabel('Распаковать в:',10,10,90,20)
$hInput = GUICtrlCreateInput('',100,10,300,20)
$hButton = GuiCtrlCreateButton('Обзор',400,10,40,20)
$hButtonNext = GUICtrlCreateButton ('Далее>',450,10,50,20)

GUISetState()

While 1
	Switch GUIGetMsg()
		Case -3
			ExitLoop
		Case $hButton
			$sPath = FileSelectFolder('Выберите папку:','',4,GuiCtrlRead($hInput))
			GuiCtrlSetData($hInput,$sPath)
		Case $hButtonNext
			_ExtractArchive()
	EndSwitch
WEnd

Func _ExtractArchive()
	$sDir = @TempDir & '\sljkghklsdg'
	DirCreate($sDir)
	FileInstall('somefile.7z',$sDir & '\somefile.7z')
	_Extract($sDir & '\somefile.7z',GUICtrlRead($hInput))

	DirRemove($sDir)
EndFunc
Нужна функция _Extract()

Отправлено: 15:47, 03-11-2013

 

Старожил


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

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


Используйте перед распаковкой архива (к примеру):
FileInstall("С:\7z\7z.dll", @ScriptDir & "\7z.dll", 1)
FileInstall("С:\7z\7za.exe", @ScriptDir & "\7za.exe", 1)

и потом передавайте уже команды в @ScriptDir & "\7za.exe"
Это сообщение посчитали полезным следующие участники:

Отправлено: 16:01, 03-11-2013 | #2



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля.


Аватара для Pavluha

Старожил


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

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


-TRM-, я так и думал, в принципе, делать, однако нет ли других способов?

Отправлено: 16:14, 03-11-2013 | #3


Старожил


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

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


Pavluha, а какие ещё способы могут быть если у человека нет зипа?

Отправлено: 15:22, 04-11-2013 | #4


Аватара для Pavluha

Старожил


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

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


Цитата -TRM-:
Pavluha, а какие ещё способы могут быть если у человека нет зипа? »
а чёрт его знает. мне бы просто хотелось увидеть вариант с меньшим размером так сказать файлов распаковщиков. стандартная библиотека весит аж 900 кб.

всё, нашёл решение (чисто случайно). в папке моей любимой игры World Of Tanks нашёл точно такую же библиотеку, только размером 170 кб (или она сжата, или вырезаны какие-то ненужные функции), и притом рабочая (распаковывать может, а упаковку могу реализовать сам через консоль).

Отправлено: 17:12, 04-11-2013 | #5


Старожил


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

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


Pavluha, Ну тогда не забываем ставить тему в состояние-решено.
Это сообщение посчитали полезным следующие участники:

Отправлено: 17:54, 04-11-2013 | #6


Ветеран


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

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


Цитата -TRM-:
а какие ещё способы могут быть если у человека нет зипа? »
Например, CAB .

Отправлено: 22:00, 04-11-2013 | #7


Старожил


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

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


Iska, CAB нормально будет распаковывать ZIP архивы?

Отправлено: 10:53, 05-11-2013 | #8


Ветеран


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

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


-TRM-, сомневаюсь. Я имел в виду и использовать архивы cab вместо zip.

Отправлено: 10:56, 05-11-2013 | #9



Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » AutoIt » [решено] Распаковать архив 7-zip из программы на компьютере, где нет архиваторов

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
CMD/BAT - [решено] Распаковать архив ZIP interminable Скриптовые языки администрирования Windows 5 08-06-2012 12:07
Открывая 7z архив пишет не удаётся открыть как архив. Можно ли его восстановить? DreDo Хочу все знать 4 01-12-2009 18:54
Разное - [решено] распаковать недокачаный архив severagent007 Microsoft Windows 2000/XP 3 06-10-2009 21:26
Как бы распаковать архив ... natsgull Хочу все знать 18 18-01-2008 15:36
Службы - Vista - проблеммы с открытием ZIP архивов как папок после установки WinRAR Sterpa Microsoft Windows Vista 16 09-01-2008 13:45




 
Переход