Command: zoo

  ZOO - manipulate archives of files in compressed form.
  Zoo is used to create and maintain collections of files in compressed
  form. It uses a Lempel-Ziv compression algorithm that gives space
  savings in the range of 20% to 80% depending on the type of file data.
  Zoo can store and selectively extract multiple generations of the same
  file. Data can be recovered from damaged archives by skipping the
  damaged portion and locating undamaged data with the help of fiz, see:
  https://gitlab.com/FreeDOS/archiver/zoo
  It is not recommended to use ZOO 2.1 (created 1991) on newer DOS
  systems as it may cause problems with extracting zoo files. At the
  moment it is not sure if a bugfix will be published.

Syntax:

  zoo {acDeglLPTuUvx}[aAcCdEfInmMNoOpPqu1:/.@n] archive [file]
  Choose a command from within {} and zero or more modifiers from within
  [].
  E.g.: 'zoo a save /bin/*' will archive all files in /bin into save.zoo.
  (Please see the user manual for a complete description of commands)

  Novice usage: zoo -cmd archive[.zoo] file... where -cmd is one of
  these:
  -add -extract -move -test -print -delete -list -update -freshen
  -comment
  ("zoo h" for help, "zoo H" for extended help)

Commands / Modifiers:

  Commands in {} mean:        |Modifiers in [] mean:
  a     add files             | a     show archive name(s) in listing
  c     update comments       | A     apply g or c to archive
  D     delete stored files   | c     add/list comments
  e,x   extract files         | d     extract/list deleted files too
  g     adj. gen. limit/count | dd    extract/list only deleted files
  l,L,v,V list filenames      | E     erase backup after packing
  P     pack archive          | f     fast add (no compression) or list
  T     fix archive datestamp | M     move when adding (erase original)
  u     add only newer files  | n     add only files not already in
  U     undelete stored files |       archive
  f     act as filter         | N     send extracted data to Nowhere
 -----------------------------| c/u   compress/uncompress as filter
                                O     don't ask "Overwrite?"
                                p     pipe extracted data to standard
  q     be quiet                      output
  :     don't store dir names   /,//  extract full pathnames
  .     pack to current dir     I     add filenames read from stdin
  C     show file CRC value     +/-   enable/disable generations
  S     overwrite newer files   g     list generation limits
  P     pack after adding       @n    start extract/list at position n
  C     change archive cmnt     h     use high-compression method

  Extended help:
    command line format:
    zoo {command}[options] archive files(s)

  Commands:
  a  add files
     u - update, replace only if file is newer than saved version
     n - new, add if file is not in archive
     f - fast, don't compress at all
     h - high performance compressor, slower than default
     M - move files to archive, delete after saving
     c - add a comment to each file added
     C - add a comment to the archive as a whole
     : - strip directory names, save filenames only
     q - quiet (qq suppresses warnings, qqq suppresses nonfatal errors
         too)
     P - pack after adding, remove overwritten or deleted files
         (leaves a .bak file, use PP to overwrite it)
     I - read filenames from standard input
     + - enable generations

  e  extract files
  x  extract files
     : - extract to current directory (ignore pathnames)
     . - make absolute pathnames relative to current directory
         (name /etc/hosts becomes ./etc/hosts)
     / - extract to subdirs, // create subdirs as needed - default
        (the sequence :/ may be used to use but not create subdirs)
     q - quiet
     d - extract deleted files, too. dd extract *only* deleted files
     N - extract to nowhere. Used to test the archive with xN or xNq
     p - extract for pipe to standard output. Use q to avoid header

     O - overwrite without asking
     S - overwrite superceded (newer) files

  l  list archive info
  L  list info for multiple archives
  v  list verbose file info and archive comment
  V  list verbose file info, archive and file comments
     v - verbose (same as v command, used with L for multiple files
     V - verbose with file comments
     C - show CRC
     a - show archive name in file listing (useful with L)
     d - show deleted files
     q - quiet, shows only file info, no comments or headers
     f - fast, lists only filename, no pathname, multiple columns
     1 - one column output (for the f option)

  c  comment changes, change or add comments to listed files
     (changes all file comments if no files given)
     A - only change archive comment

  P  pack archive, remove deleted or overwritten files
     E - erase the .bak file when done

  D  delete files by name
     P - pack after deletion, use PP if .bak file exists
     q - quiet

  T  timestamp adjust, make archive age of newest file

  g  generation commands
     l - set generation limit on files
     A - apply limit to archive rather than a file (with gl)

  f  filter, copy stdin to stdout with [de]compression
     c - compress
     u - uncompress
     h - use the high compression method

Comments:

  ZOO has an extensive documentation that is beyond the scope of
  this help. For more information see:
  https://gitlab.com/FreeDOS/archiver/zoo/-/tree/master/DOC/ZOO
  FIZ.MAN or ZOO.MAN
  AS IT TUNRNS OUT, ZOO SEEMS TO SUPPORT FAT16 ONLY WHEN EXTRACTING
  FILES (The last programm version is from 1991!). I saw a patched
  version, but at the moment it is not yet published.

Examples:

  (IT SEEMS THAT ZOO WORKS ON FAT16 ONLY! On FAT32 you may get an error
  message: ZOO: FATAL: I/O error disk full. - see section Comments)
  1.) Just add a few files to test1.zoo:
        zoo a C:\test1.zoo kernel.sys command.com fdauto.bat fdconfig.sys
  2.) Add exe files and all NLS files in subdirectories to test2.zoo
        zoo a C:\test2.zoo C:\FREEDOS\BIN\*.exe C:\FREEDOS\NLS\*.*
  3.) Add documentation files with high compression (only files in the
      actual folder):
        zoo ah C:\test3.zoo *.doc
  4.) Extract all files from test1.zoo:
       zoo x C:\test1.zoo
  5.) Extract files into the current directory:
        md example (creates directory example)
        cd example
        zoo e C:\test1.zoo   (skipped when files exist)
        zoo x C:\test1.zoo   (skipped when files exist)
  6.)  List the contents and archive comments:
        zoo v C:\test2.zoo
  7.)  List all files in all archives
        zoo L test1.zoo test2.zoo test3.zoo

See also:

  7zdec
  arj
  bzip2
  cabext
  gzip
  lpq1
  lzip
  lzma
  lzop
  p7zip
  slicer
  tar
  unzip
  zip

  Copyright © 1986-1991 Rahul Dhesi, help version 2024 by W. Spiegl.

  This file is derived from the FreeDOS Spec Command HOWTO.
  See the file H2Cpying for copying conditions.