THINK!
(Ex-IBM)

Dealing with ZIP files can be incredibly complex...
Do the zip files contain paths?
How will you identify those paths?
Do you need to modify the file content IN the zip file? That implies extracting the file, modifying it, and putting it back in the same logical place in the zip file.
Will multiple zip files have identical content? If so, you need to process the zips one by one instead of first extracting them all and then processing the data.

You need to deal with extracting the files, modify the files, put the files back in the zip, and remove the files you extracted without removing any other files. This would be much easier if, for example, you received the zip files and merely needed to extract them for processing. Then you could enumerate all the zip files with a Dir(), extract the files in each one, and then process all the resulting files - removing the Zip files after the extraction was complete. Of course, this assumes that the same file name is not present in multiple zip files.

My point is - it's relatively simple to process files, search for content, and then modify (I'll outline that in a moment), but throwing in zip files requires careful planning and a knowledge of the zip file content and structure.

As for basic search/replace, here's the basic idea...
 Code:
$SearchData = 'xyzzy'           ; insert when line containing this is found
$InsertData = 'AbraCadabra'     ; data line to insert
$RootPath = 'D:\folder...' ; root path where files live
$Files = DirList($RootPath, 6) ; return a list of all files with complete paths
For Each $File in $Files
  Move $File 'WorkFile.tmp' ; rename the file
  If Open(2, 'workfile.tmp')
    $ = RedirectOutput($File) ; output to original file
    $Line = ReadLine(2)
    While Not @ERROR
      If InStr($Line, $SearchData)
        $InsertData ?        ; output extra (inserted) line
      EndIf
    $Line ?                  ; output original line
    $Line = ReadLine(2)
    Loop
    $ = Close(2)
    $ = RedirectOutput('')  ; close output file
    Del 'workfile.tmp'
  EndIf
Next

This is UNTESTED, and presented to illustrate the logic flow. This could easily be modified to REPLACE a line or APPEND a line rather than INSERT a line. A nice mod might be to define a var $MODE, and use a Case statement to Insert, Replace, or Append depending on the value of $MODE.

Glenn
_________________________
Actually I am a Rocket Scientist! \:D