Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2008.01.13;
Скачать: CL | DM;

Вниз

Zip архив   Найти похожие ветки 

 
Keg   (2007-12-08 12:51) [0]

Всем добрый день. Понимаю, вопрос относительно другой тематики, но уже не знаю что делать. Нужно программно извлечь zip архив желательно внешней безоконной программой. Пробовал Unzip.exe winrar.exe, но почему-то находятся такие архивы, которые извлекаться программно не хотят, а их порядка 20000, но если запустить winrar и самому извлечь содержимое, то все хорошо. Бьюсь с этим уже давно, подскажите какие-нибудь утилиты, которые можно было бы запускать в программе и передать им параметры, а они извлекали в нужное место содержимое. Спасибо за внимание.


 
{RASkov} ©   (2007-12-08 13:08) [1]

> [0] Keg   (08.12.07 12:51)

И UnRar и, тем более, UnZip с архивами формата zip справляются отлично и так же понимают командную строку(по крайней мере Рар точно, да и Зип должен)..... смотри хелп по данным архиваторам....

> но почему-то находятся такие архивы, которые извлекаться
> программно не хотят

Может это уже и не зип-архивы? может 7z? Или еще какой другой формат(не расширение файла)......
По параметрам командной строки ВинРара есть у него(в папке с винраром) файлик, где все подробно расписано...


 
Keg   (2007-12-08 13:13) [2]

Мы всем отделом ломаем голову. Для нас всех это просто ужас какой-то, какая-то мелочь, но настолько не решаемая... Это точно zip и winrar и unzip программно его не хотят извлекать, говорит файлов нет, а если самому ручками через winrar , то, пожалуйста. Есть идеи?


 
{RASkov} ©   (2007-12-08 13:16) [3]

> [2] Keg   (08.12.07 13:13)
> Есть идеи?

Полно.... неужели их все тут выкладывать?
Я к тому, что никто не знает как вы там всем отделом стараетесь победить архивы....


 
{RASkov} ©   (2007-12-08 13:21) [4]

> [2] Keg   (08.12.07 13:13)

Нашел тот файлик с описанием параметров коммандной строки Рара? Все ли так делаете? Т.е. Соблюдаете-ли вы все правила командной строки рара...


 
Keg   (2007-12-08 13:25) [5]

1.
@echo off
"C:\Program Files\WinRAR\winrar" e -y %1 %2 %3
%1 - Путь до zip
%2 - Имя файл внутри
%3 - куда извлекать
2. Unzip
3. Средствами windows через vba
"DiskFile - путь до архива
" RTFPath - путь и имя нового файла, который извлекли из архива
Set fld1 = shl.NameSpace(DiskFile)
Set i = fld1.Items.Item(0)
Set fld2 = shl.NameSpace(PathD + CStr(Doc_c))
fld2.CopyHere i
Set i = fld2.ParseName(i.Path)
FileCopy i.Path, RTFPath
Вообщем в третьем случае, когда извлекается этот архив, ругается windows и говорит, что файл существует, причем выглядит это как ошибка и завершает работу...
Вот такие дела...


 
Keg   (2007-12-08 13:26) [6]

Причем в случае Winrar он говорит, что нету там ничего, а если winrar запустить, то все хорошо извлекает....


 
Keg   (2007-12-08 13:27) [7]

Все вышеперечисленные способы работают на большую часть архивов, но на некоторые ( а их порядка 500 может больше, точно не отслеживали) отказываются работать напрочь причем все способы


 
{RASkov} ©   (2007-12-08 13:59) [8]

> [7] Keg   (08.12.07 13:27)

Возможно связано с именами(включая путь) архивов... может символы какие недопустимые содержат...
Тут тяжело ответить верно....
Попробуй такой способ:
ShellExecute(Handle, nil, "<путь к \>Rar.exe", "e -y NameArch DirTo", nil, SW_HIDE);
Параметры подправь как тебе нужно:
NameArch - имя и путь к архиву
DirTo - папка для распаковки


 
palva ©   (2007-12-08 14:36) [9]

Может у вас досовский вариант Unzip? Вот он и не может понять длинные имена.
Попробуйте pkzipc.exe


 
Zeqfreed ©   (2007-12-08 16:55) [10]

Обрамлять имена файлов кавычками и экранировать символы не пробовали?


 
ANB ©   (2007-12-08 17:29) [11]

%2 - Имя файл внутри

Кавычками обрамить. Должно помочь.


 
Keg   (2007-12-09 16:22) [12]

Спасибо, будем смотреть..


 
Keg   (2007-12-09 16:29) [13]

А можете ссылуц выложить на pkzipc.exe. Не могу найти в интернете.


 
palva ©   (2007-12-09 17:19) [14]

> Keg   (09.12.07 16:29) [13]
> А можете ссылуц выложить на pkzipc.exe. Не могу найти в
> интернете.

ftp://ftp.eesnet.ru/windows/misc/Zip/pkzipc_40.rar


 
Keg   (2007-12-09 23:22) [15]

Спс, он действительно помог. Ребят, вы мозги =). Удачи



Страницы: 1 вся ветка

Текущий архив: 2008.01.13;
Скачать: CL | DM;

Наверх




Память: 0.5 MB
Время: 0.016 c
2-1197538417
XerSon
2007-12-13 12:33
2008.01.13
Оптимальный выбор платормы для клент-серверного приложения?


15-1196971356
shaman
2007-12-06 23:02
2008.01.13
тормоза под Win2003


6-1178027712
denissoft
2007-05-01 17:55
2008.01.13
программно отключить соединение по локальной


15-1197011581
TUser
2007-12-07 10:13
2008.01.13
ICQ-рассылки


2-1197378358
9899100
2007-12-11 16:05
2008.01.13
замена конструктора