Как прочитать файл из архива?
Модераторы: m0p3e, edward_K, Модераторы
Как прочитать файл из архива?
Нужно загрузить данные в Галактику из файла, который приходит в zip архиве. В самом архиве еще куча разного ненужного барахла.
То есть у меня есть путь на архив, мне надо посмотреть, если в архиве нужный файл (или файлы), если есть - вытащить его, желательно при этом не разворачивая весь архив.
Это как то можно провернуть из Vip-а? Вроде Галактика умеет работать с архивами... Вопрос, как?
Если кто сталкивался, подскажите, в сторону какого варианта посмотреть?
По форуму поискала, не нашла ничего подходящего, увы.
То есть у меня есть путь на архив, мне надо посмотреть, если в архиве нужный файл (или файлы), если есть - вытащить его, желательно при этом не разворачивая весь архив.
Это как то можно провернуть из Vip-а? Вроде Галактика умеет работать с архивами... Вопрос, как?
Если кто сталкивался, подскажите, в сторону какого варианта посмотреть?
По форуму поискала, не нашла ничего подходящего, увы.
-
- Местный житель
- Сообщения: 1844
- Зарегистрирован: 29 мар 2005, 17:49
- Откуда: Ярославская область ОАО "Часовой завод Чайка" г. Углич
- Контактная информация:
Re: Как прочитать файл из архива?
в конце концов, можно батник просто написать попробовать, который ищет в архиве нужный файл, и ,если он есть распаковывает его из архива
Ну и дергать его из VIP ExecProgram..
Ну и дергать его из VIP ExecProgram..
Re: Как прочитать файл из архива?
Есть dll-ки для работы с архивами. Например 7z.dll.
Сам не пробовал.
Сам не пробовал.
Re: Как прочитать файл из архива?
Обычно в программировании виден лишь конечный результат: например, кажется, что в файл дописали строку, а на самом деле, удалили весь файл и записали новый со строкой. Так и здесь, наверное, можно: bat'ом, как предложили выше, распаковать архив, удалить весь мусор из извлечённого - останется только нужный файл. Когда-то из архива классификаторов ЦБ таким образом справочник банков вытягивал.Ольга писал(а):желательно при этом не разворачивая весь архив
Код: Выделить всё
if exist bnkseek.dbf del bnkseek.dbf
"C:\Program Files\7-Zip\7z.exe" x -y *.zip
ren bnkseek.dbf bnkseek.tmp
if exist *DBF del *DBF
ren bnkseek.tmp bnkseek.dbf
Re: Как прочитать файл из архива?
Спасибо всем! Куда смотреть примерно понятно))
Про батник я думала, но надеялась, что какие-то уже готовые функции все же существуют.
Ушла экспериментировать...
Про батник я думала, но надеялась, что какие-то уже готовые функции все же существуют.
Ушла экспериментировать...
-
- Заслуженный деятель интернет-сообщества
- Сообщения: 5188
- Зарегистрирован: 29 мар 2005, 17:49
- Откуда: SPB galaxy spb
Re: Как прочитать файл из архива?
встроенный есть zip алгоритм, и наверное достаточно старый.
Вместо батника можно и сразу rar запустить в фоне.
Вместо батника можно и сразу rar запустить в фоне.
Re: Как прочитать файл из архива?
Я покопалась по внешних функциях и ничего не нашла. Я не там смотрела?edward_K писал(а):встроенный есть zip алгоритм, и наверное достаточно старый.
В принципе, у меня с 7zip и батником все получилось - и список файлов получить, и извлечь только нужное. Проблема только, что 7zip-ом мы не пользуемся, если оставлять решение на нем, придется ставить по всем пользователям. Поэтому я и хотела изначально использовать что-то встроенное в Галактику.
А вот с winrar, который у всех установлен, не получилось, почему-то.
Re: Как прочитать файл из архива?
В состав WinRar входит rar.exe (консольная версия архиватора). С ним пробовали работать?Ольга писал(а):А вот с winrar, который у всех установлен, не получилось, почему-то.
-
- Местный житель
- Сообщения: 1089
- Зарегистрирован: 04 сен 2008, 11:27
- Откуда: Москва
- Контактная информация:
Re: Как прочитать файл из архива?
Зачем всем ставить? Он же может с сетевой папки работать?Ольга писал(а):Я покопалась по внешних функциях и ничего не нашла. Я не там смотрела?edward_K писал(а):встроенный есть zip алгоритм, и наверное достаточно старый.
В принципе, у меня с 7zip и батником все получилось - и список файлов получить, и извлечь только нужное. Проблема только, что 7zip-ом мы не пользуемся, если оставлять решение на нем, придется ставить по всем пользователям. Поэтому я и хотела изначально использовать что-то встроенное в Галактику.
А вот с winrar, который у всех установлен, не получилось, почему-то.
Время ведет!
-
- Заслуженный деятель интернет-сообщества
- Сообщения: 5188
- Зарегистрирован: 29 мар 2005, 17:49
- Откуда: SPB galaxy spb
Re: Как прочитать файл из архива?
раз вы не хотите юзать dll (Это да , несколько сложно, не все dll подходят, для некоторых нужно сгенерить обертку(С#), для Dll на Delphi нужно где то подсмотреть состав функции и параметров к ним), то вам нужно использовать строчник(rar.exe, pkzip и так далее). Большинство строчных распаковщиков не требуют установки и их можно запускать откуда угодно, главно что бы он съел ваш формат. Архивы от 7zip rar уже не понимает например. Большинство строчников выдают подсказку
Код: Выделить всё
rar /? >!.txt
Re: Как прочитать файл из архива?
Спасибо Всем!
В принципе сейчас используем 7zip и батник, пару месяцев полёт нормальный. Просто я надеялась, когда открывала тему, что у Галактики есть свой встроенный функционал для этих целей.
В принципе сейчас используем 7zip и батник, пару месяцев полёт нормальный. Просто я надеялась, когда открывала тему, что у Галактики есть свой встроенный функционал для этих целей.
Насколько я помню, консольный winrar отказался работать с интересующими нас архивами.Buddy писал(а):В состав WinRar входит rar.exe (консольная версия архиватора). С ним пробовали работать?Ольга писал(а):А вот с winrar, который у всех установлен, не получилось, почему-то.
Именно так и сделалиMasygreen писал(а): Зачем всем ставить? Он же может с сетевой папки работать?
Да, я нашла, смотрела, даже начала было разбираться, но, как обычно, нужно было быстро заканчивать, поэтому в итоге был выбран самый простой путь, всё как обычно, в общем. Так и работаем покаedward_K писал(а):раз вы не хотите юзать dll (Это да , несколько сложно, не все dll подходят, для некоторых нужно сгенерить обертку(С#), для Dll на Delphi нужно где то подсмотреть состав функции и параметров к ним), то вам нужно использовать строчник(rar.exe, pkzip и так далее). Большинство строчных распаковщиков не требуют установки и их можно запускать откуда угодно, главно что бы он съел ваш формат. Архивы от 7zip rar уже не понимает например. Большинство строчников выдают подсказкуКод: Выделить всё
rar /? >!.txt