Update 2011-07-31: Fixed a memory leak and a potential crash in MakeZFS while extracting files from a ZFS.
Update 2011-08-08: Fixed a bunch of problems and added support for the ZFS encryption feature. It only takes effect when creating a new ZFS file using a password (for example, makezfs -p ultraken a addon.zfs addon\*). The contents of the ZFS file will be encrypted and all operations on it will require the correct password.
Update 2012-07-03: Add and update work correctly with filename wildcards (e.g. *.ini). Add, update, and extract now preserve file modification dates.
MakeZFS works like a command-line archival program such as 7-zip. It takes a single-character command, the name of a ZFS file, and a (sometimes optional) list of file names. File names in the list can include wildcard characters such as ? (match any one character) and * (match any group of characters).
- The a command compresses and adds files. The file names can be relative or full paths, or even the names of directories.
- The d command deletes files. It actually just marks them as deleted, but doesn't actually remove the data from the ZFS or compact it.
- The x command extracts and decompresses files to the current directory. If no file names are listed, it extracts everything.
- The l command lists files. If no file names are listed, it lists everything in the ZFS.
- The u command updates files. It works just like a except it ignores any file not already in the ZFS.
MakeZIX builds a ZIX file from a descriptor file. The descriptor is the part of the ZIX file between the six-digit file count and the giant list of files. It typically looks like this:
Code: Select all
0 D:\bzone BZONE 'Battlezone CD --- DIR: bzhw16l.zfs DIR: bzhw16.zfs DIR: bzhw.zfs DIR: bzsw.zfs DIR: bzone.zfs ---
The DIR: lines specify ZFS files to read files from. Earlier entries take precedence over later entries.
The --- lines can contain any number of - as long as it's at least one.