Консультация № 174672
29.11.2009, 14:46
0.00 руб.
0 6 0
Как средствами VB6 распаковать заданный .zip файл в заданную директорию?
Проблема в том, что имена файлов слишком длинные для того чтобы можно было использовать PKUNZIP из командной строки.

Обсуждение

давно
Модератор
137394
1850
29.11.2009, 18:36
общий
Perkussi:
Я не программирую в VB6, но, по видимому, нет в VB cтандартного средства распаковки файлов. Необходимо использовать внешний распаковщик. И, по видимому, проблема в том, чтобы распаковщик воспринимал длинное имя. Вот в VBS программулька, которая вызывает WinRar для распаковки Zip-файла с весьма длинным именем (проверено, работает). То есть проблема найти достойный распаковщик, который Вас устроит по Вашим требованиям, например, бесплатности.
Код:
Stroka="""C:\Program Files\WinRar\WinRar.exe"" x ""E:\У попа была собака\Поп её любил\Она съела кусок мяса\Поп её убил\Убил, закопал\И надпись написал\Ехала деревня мимо мужика, вдруг из-под собаки лают ворота, выбежала бабка с палкою в руке, начала дубасить коня на мужике.zip"" ""D:\_Удали это"""
Set WS = CreateObject("WScript.Shell")
R = WS.Run(Stroka, 1, True)
Об авторе:
Понеже не словес красных бог слушает, но дел наших хощет
Неизвестный
29.11.2009, 19:00
общий
Как Вы правильно отметили, бесплатность программы-распаковщика имеет немаловажное значение. Отсюда вопрос: нельзя ли задействовать встроенные в Windows средства работы с zip-архивами?
Неизвестный
29.11.2009, 19:59
общий
А как програмно определить где находится WinRar.exe? Пользователь может установить на своем компьютере его в любую директорию, а не только в C:\Program Files\WinRar\
Неизвестный
29.11.2009, 21:18
общий
а 7zip данную проблему не решит? там тоже есть распаковка из командной строки и он бесплатен... осталось только проверить, работает ли он с длинными именами
давно
Модератор
137394
1850
29.11.2009, 22:21
общий
Vasiliy83:
У меня с 7z из командной строки в формате
7z x откуда куда
не получилось. Может быть версия не очень (4-56 -что под рукой оказалось). Если нахожусь в целевой директории, то в формате
7z x откуда
с моим примером отработало.
Об авторе:
Понеже не словес красных бог слушает, но дел наших хощет
давно
Модератор
137394
1850
29.11.2009, 22:24
общий
Perkussi:
Где находится Program files определить довольно просто, но где WinRar cходу не знаю, надо полистать WMI. А стоит ли так усложнять?
Об авторе:
Понеже не словес красных бог слушает, но дел наших хощет
Форма ответа