www.digitalmars.com         C & C++   DMDScript  

D - Self-Extracting ZIP Archive manipulation.

reply Andrew Edwards <Andrew_member pathlink.com> writes:
I have a self-extracting zip file that contains four "self-extractables". Within
those four files are the files I need to run a particular program. My question
is: Using std.zip and/or std.zlib, is there a way to list/compare the directory
structure of a self-extracting zip file and subsequently extract only the
file(s) required?

e.g.
mail.exe contains: postoffice.exe, mailbox.exe, mailman.exe
postoffice.exe contains: some.cty, jacksonville.cty, city.exe

I only want to extract city.exe and the contents of mailbox.exe if the date of
those files are newer than the ones I already have. If I don't have the files in
the archive, then it should extract all (self-extracting archives will be
deleted, so it is beter extracting them in the first place). To add a finall
twist, I'd like to do this remotely. Is this possible?

Where might I find some examples of this?

TIA,
Andrew
Nov 12 2003
parent "Walter" <walter digitalmars.com> writes:
I didn't put self-extracting zip file support in std.zip. But you can
examine the freely available source to zip to see how it works. See
www.infoz-zip.org


"Andrew Edwards" <Andrew_member pathlink.com> wrote in message
news:botpjd$8a$1 digitaldaemon.com...
 I have a self-extracting zip file that contains four "self-extractables".

 those four files are the files I need to run a particular program. My

 is: Using std.zip and/or std.zlib, is there a way to list/compare the

 structure of a self-extracting zip file and subsequently extract only the
 file(s) required?

 e.g.
 mail.exe contains: postoffice.exe, mailbox.exe, mailman.exe
 postoffice.exe contains: some.cty, jacksonville.cty, city.exe

 I only want to extract city.exe and the contents of mailbox.exe if the

 those files are newer than the ones I already have. If I don't have the

 the archive, then it should extract all (self-extracting archives will be
 deleted, so it is beter extracting them in the first place). To add a

 twist, I'd like to do this remotely. Is this possible?

 Where might I find some examples of this?

 TIA,
 Andrew

Nov 12 2003