ZIP.EXE (win32 command line ZIP) v3.1c Version 3.1c
Platforms: Windows (XP-11) License: Free Size: 268K

A command line Zip program for Win32, 99.99% identical to InfoZip 3.1c. It is distressingly hard to find downloadable Windows binaries for InfoZip newer than version 2.x, so I've compiled a copy that uses the DLLs already on your computer for a slim 268k executable with no additional dependencies required for WinXP thru Win11.

No Warranties, Express or Implied

This is nearly identical to InfoZip 3.1c; I increased the default compression level from 6 to 9 (highest compression) because on modern CPUs compression is fully disk-bound so you might as well default to max compression. It should function as well as InfoZip 3.1c. However, neither InfoZip nor I make any guarantees of function, and cannot be held liable for any undesirable effects. I have personally used it for gigabytes of data compression without problems, but that's just me. Furthermore, please note that I have no official (or unofficial) relationship with InfoZip.

Project X Love Potion Disaster Enable Cheats Best !!exclusive!! › 〈NEWEST〉

In Project X: Love Potion Disaster (PXLPD), cheats are typically accessed through specific input combinations on the character selection or title screens. Because the game has various versions (like the 5.8 update or the newer RedEye/Community mods), the "best" way to enable them varies by build. Common Cheat Codes

For most classic versions of the game, you can enter these codes on the High Score or Title Screen: HARDCORE: Grants Invincibility. MEANTEAM: Grants Unlimited Continues. Level Skipping (PC/Mod Versions)

If you are playing a version that supports mouse inputs, you can often skip difficult stages:

Method: Hold the Right Mouse Button, then press [Esc] and quickly press [Return] during gameplay to advance to the next level. Unlocking Secret Characters & Content

Zu the Cat: In older versions like 5.5, Zu was a notable unlockable, though some later community mods might remove or change how characters are accessed.

Secret Zones: The game contains hidden areas like the Lost World or special encounters with "infected" characters (Zeta, Rouge, and Zu) that are triggered by specific gameplay conditions. Modding and Community Versions

Since the original game was abandoned by its creator, the Project X: Love Potion Disaster Community on itch.io has released various versions that are moddable and optimized for modern platforms.

RedEye Mod: Popular for adding new stages (like stage 3 ZETA) and refining gameplay mechanics.

Bugs/Patches: Versions like 7.8 focus on fixing major glitches in the Leaf Forest Zone to ensure a smoother experience. Safety Note

Due to the NSFW nature of this fan-game, many download links on third-party sites can contain malware. It is recommended to stick to known community hubs like the Project X Group or reputable modding forums. Ultimate Body Blows & Project-X: Special Edition – Cheats

In the fan-made beat-'em-up Project X: Love Potion Disaster , players often look for ways to bypass the steep difficulty or unlock content quickly. While the game does not feature a traditional "cheat menu," there are several ways to manipulate the gameplay and unlock characters. Character Unlock Shortcuts

While not technically "cheats," these methods allow you to access the full roster without standard progression: Clear Save Data

: In many versions, finishing the game once with the default character,

, is the "legitimate" way to unlock the rest of the cast, including Arena Mode : Completing certain challenges in the Arena Mode can unlock the and other hidden bonuses. Gameplay Tactics (Best "Cheats") The Escape Key : The most critical "cheat-like" mechanic is the Escape Move

. When grabbed by an enemy, a prompt will appear; pressing the assigned escape button (or jumping, depending on your controls) provides invincibility frames and damages surrounding enemies. Air Combos

: Using "Air Attacks" (pressing Attack while in the air) is often the safest way to chip away at bosses with high health pools. Debug/Console (Version Dependent) : Some early builds based on the engine allowed for a debug menu (usually accessible via the

keys), but this is frequently disabled in later releases like those on the Important Safety Note Project X Love Potion Disaster Enable Cheats BEST

Because this is a niche fan project distributed on various community sites, many downloads are flagged for malware or viruses

. If you are looking for a "best" experience, ensure you are using a version from a verified developer log, such as the Project X itch.io page , and always run a security scan before executing the file. for a particular character like

Project X: Love Potion Disaster Group (18+) - Steam Community

Project X: Love Potion Disaster (2009) is a fan-made, erotic beat-'em-up game set in the Sonic the Hedgehog universe. Developed by the "Zeta Team," the game features a variety of Mobian characters attempting to survive a world-wide "love potion" outbreak that has turned the population aggressive. Gameplay Review Genre & Mechanics

: The game is a side-scrolling hack-and-slash inspired by classics like Streets of Rage

. Players choose from 7 characters, including R-02 Zeta, Amy Rose, Rouge the Bat, and Tails, each with unique move sets and special attacks. Combat System

: Characters can perform combos, jumps, and "escape" moves to break free from enemy grabs. Recent updates have added an "Arena Mode" with a combo system that rewards chaining attacks and the ability to hit airborne opponents. Visuals & Sound

: Much of the game features original sprites and animations. While it has "stunning" vibrant colors according to some enthusiasts, the content is explicitly erotic and contains mature themes. Development Status

: The game has faced technical hurdles over the years, including reports of file issues and browser-based archive downloads that sometimes lack visual output. How to Enable Cheats

"Cheats" in this game often refer to specific developer-intended codes or external modifications found in the RedEye Mod Standard Level Skip

: In certain editions (like the three-disk version), hold the Right Mouse Button , and then quickly press to advance to the next level. High Score Codes : Some versions allow cheat entry on the High Score screen: Invincibility Unlimited Continues External Mods (RedEye Mod)

: This popular modification adds extra features and is often showcased in gameplay videos to demonstrate "unlocked" or modified stages.

: Be cautious when downloading files for this game, as some community archives have been flagged by users for potential virus issues or broken files. or a specific character's Ultimate Body Blows & Project-X: Special Edition – Cheats

To enable cheats in Project X: Love Potion Disaster , you must typically use specific keyboard shortcuts or menu options depending on the version you are playing. Cheat Activation Methods

Version 7.8 and Newer: Most modern builds of the game include a dedicated "Cheats" or "Mod" menu. Users often activate these by finding a specific modding document or cheat-mod activator provided by the developers on itch.io.

Legacy Level Skip: In some classic versions, you can advance levels by holding the Right Mouse Button, pressing [Esc], and then quickly pressing [Return]. In Project X: Love Potion Disaster (PXLPD), cheats

RetroArch Emulation: If you are playing the game through the RetroArch emulator, you must navigate to the Quick Menu, select Cheats, and then "Update Cheats" to download the necessary files before toggling them on. Common Cheats & Mods

Gallery Unlock: Newer versions like 7.8 Alpha introduce a Boss Gallery Mode and fixed animation galleries that can often be unlocked via cheat files found on community forums like Lewdzone.

RedEye Mod: This is a popular community-made mod that simplifies activation for various in-game advantages and is often showcased in tutorial videos.

Save Files: Many players bypass the need for manual cheats by downloading completed Save Games from sites like DeviantArt, which unlock all characters and levels immediately. AI responses may include mistakes. Learn more

Viewing post in Project X: Love Potion Disaster 7.8 - itch.io

Project X Love Potion Disaster is a popular fan-made game that combines platforming elements with adult themes. Given its challenging difficulty spikes and complex boss patterns, many players seek out ways to simplify the experience. This guide covers how to enable cheats and the best methods to enhance your gameplay. How to Enable Cheats in Project X

The most common way to access cheats in this game is through the built-in Debug Mode or by using external modification tools. Since the game is built using the RPG Maker or similar engines depending on the version, the methods can vary slightly.

Access the Debug Menu: In many versions, pressing F9 during gameplay opens a hidden menu.

Modify Save Files: You can use online save editors to change player stats.

Cheat Engine: This third-party software allows you to lock health and energy values.

Secret Codes: Certain versions allow you to enter codes in the options or title screen. Best Cheats for Gameplay

If you are looking to breeze through the levels and see all the content without the frustration of "Game Over" screens, these are the most effective cheats to use. 🛡️ Infinite Health (God Mode)

This is the most sought-after cheat. It prevents the protagonist from taking damage from enemies or environmental hazards. It is essential for players who want to focus on the story and animations rather than the platforming difficulty. ⚡ Unlimited Energy / Mana

Many of the special moves and "love potion" abilities require energy. Enabling unlimited energy allows you to use these powers constantly, making boss fights significantly shorter. 🔓 Unlock All Gallery Scenes

For many, the primary goal is to view the various animations. Instead of playing through every possible failure scenario, you can use a "100% Save File" or a specific debug command to unlock the entire gallery instantly. 🏃 Speed Hack

Using a speed multiplier helps you traverse the larger maps quickly. This is particularly useful if you are backtracking to find hidden items or NPCs. Using Cheat Engine with Project X Open the game folder (e

Cheat Engine is a versatile tool that works for most PC games. Here is the best way to use it for Project X Love Potion Disaster: Open the Game: Launch Project X and load your save.

Open Cheat Engine: Select the game process (usually named ProjectX.exe).

Scan for Values: If your health is 100, scan for the number 100.

Narrow it Down: Take a small amount of damage, then scan for the new value.

Change and Lock: Once you find the correct address, change it to 999 and check the "Active" box. Risks and Considerations

While cheating can make the game more accessible, it can also lead to bugs.

Save Corruption: Always back up your save files before using external editors.

Sequence Breaking: Using speed hacks or "noclip" can sometimes skip vital story triggers, preventing you from progressing.

Spoilers: Unlocking the full gallery immediately can spoil the endings and surprises of the main campaign.


1. Executive Summary

Project X: Love Potion Disaster is an adult-oriented beat 'em up game developed by Zeta Team, built upon a modified engine originally derived from the Sonic the Hedgehog fangame community. Due to the game's high difficulty curve and roguelike elements, there is a significant demand among the player base for cheat enablement. This report details the legitimate developer-intended methods for unlocking cheats, the common community workarounds, and the technical implications of modifying the game’s code.

Step 1: Locate the "config" File

You need to find the file that stores your game settings. This is usually located in the main folder where you extracted the game.

  1. Open the game folder (e.g., Project X Love Potion Disaster).
  2. Look for a file named config or config.ini.
  3. Open this file using Notepad (or any text editor).

Why You Need Cheats in Project X Love Potion Disaster

Before purists cry foul, understand this: Project X was built with cheat codes in the source code. The developers, in a moment of sadistic genius, knew that the “Disaster” ending was so common that players would need a lifeline. Enabling cheats doesn’t ruin the game; it unlocks the “Sandbox Mode” that the manual never told you about.

Without cheats, you face:

  • The Volatility Meter: One wrong dialogue option and your concoction turns into a sentient sludge monster.
  • Time-Locked Routes: Certain heroines are only available for 45 real-time seconds.
  • The Triple-Disaster Chain: Failure begets failure, leading to the dreaded “Lab Explosion / Expelled / Lonely” ending.

With cheats? You become the undisputed maestro of mayhem.

Step 1: Identify the Correct Game/Context

  • Project X could refer to the 1993 party/social game by Atari, where players manage a party while avoiding chaos, or a newer indie game with similar themes.
  • "Love Potion Disaster" might be a specific scenario, mod, or level in the game.
  • "BEST" likely refers to a cheat engine (e.g., Best Cheat Engine) or a mishearing of a Konami code ("B" to "Start").

Clarification Needed: Are you referring to the 1993 game Project X (Atari, 16-bit consoles), a modern indie game, or a specific platform (PC, console)? Provide details so I can give accurate help.


🔥 Why Use Cheats?

  • Skip frustrating difficulty spikes
  • Unlock all characters / potions / stages instantly
  • Create wild, game-breaking combos
  • Perfect for speedruns or YouTube showcase content

2. Cheats via Mods/Tools

  • For PC or emulated versions:
    • Use Game Mod Managers: Some games accept cheat codes via plugins.
    • Cheat Engine (Windows): Hack memory values for infinite lives, resources, etc.
      • Steps:
        1. Run the game and Cheat Engine.
        2. Search for values (e.g., money, health).
        3. Freeze/modify values to enable cheats.

Background and other (useless?) info

The main place I use this is in batch files to automate backups and revision management. I know about and could use 7zip, but desire a feature that only InfoZip offers, which is a date filter, allowing you to only include files modified after "-t MMDDYYYY". This feature was also available in InfoZip 2.x, but that version of InfoZip has bugs and limitations that 3.x does not. Most notably, 3.x supports Unicode filenames.

There are a lot of versions of InfoZip 3.x, but after 3.1d none seem to be official, just patched versions primarily maintained for Linux use. It's probable that some of those patches ought to be applied to 3.1c, but that goes beyond my interest. Note that 3.1d is official, but I didn't use it. Why? Because it's main contribution is adding a lot of other compression formats (including LZMA, the 7z compression method). Result: bloat, and possibly, new bugs. 3.1c seems like the sweet spot, but feel free to convince me otherwise. Also, it's not clear that I could have compiled anything newer than 3.1c with VC6. Being able to use VC6 allows zero additional DLLs, which I consider to be a real bonus.

Note that I haven't carefully pored over the license and source code terms for InfoZip. I have attempted to make it clear that this binary is in no way blessed by them or their descendants, but if I have not gone far enough, please politely inform me of what specific changes need to be made to make it right.

Complete list of changes

I'm happy to provide the full source code, but as you'll see below, it's overkill. Furthermore, as I'm some random guy on the internet, you're probably more interested in seeing what I've changed than building on my changes.

I started with the source forge copy of version 3.1c, as the InfoZip FTP site is long gone. I made the following changes:

globals.c(44):int level = 9; /* 0=fastest compression, 9=best compression */ 
// AER EDIT: changed default to level 9 (was 6) 
zip.c(2680): level = 9; /* 0=fastest compression, 9=best compression */ 
// AER EDIT: changed default to level 9 (was 6); NOTE seems to be ignored, needs change in globals.c 
zip.c(608):" -t mmddyyyy OR yyyy-mm-dd include files modified on this date and later ", 
//AER EDIT: was " -1 compress faster -9 compress better",
win32\win32zip.c(1870): // if (noisy) { sprintf(errbuf, " (%ld bytes security)", bytes); zipmessage_nl(errbuf, 0); } 
// AER EDIT: removed printout of how many bytes were used to store security info, it's always ~160
revision.h(25):#define REVDATE "HciDesign.com PATCH 1.0" 
// AER EDIT: changed here as required by LICENSE since it's not an official binary
revision.h(71):"Version 3.1c was maintained by E. Gordon back in 2010, it is doubtful bug reports", 
// AER EDIT updated to reflect it is probably vastly outdated info
			

Usage

zip options archive_name file file ...

Some examples:
Add file.txt to z.zip (create z if needed): zip z file.txt
Zip all files in current dir: zip z *
Zip files in current dir and subdirs also: zip -r z .

Basic modes:
External modes (selects files from file system):
add - add new files/update existing files in archive (default)
-u update - add new files/update existing files only if later date
-f freshen - update existing files only (no files added)
-FS filesync - update if date or size changed, delete if no OS match
Internal modes (selects entries in archive):
-d delete - delete files from archive (see below)
-U copy - select files in archive to copy (use with --out)

Basic options:
-r recurse into directories (see Recursion below)
-m after archive created, delete original files (move into archive)
-j junk directory names (store just file names)
-p include relative dir path (deprecated) - use -j- instead (default)
-q quiet operation
-v verbose operation (just "zip -v" shows version information)
-c prompt for one-line comment for each entry
-z prompt for comment for archive (end with just "." line or EOF)
-@ read names to zip from stdin (one path per line)
-o make zipfile as old as latest entry


Syntax:
The full command line syntax is:

zip [-shortopts ...] [--longopt ...] [zipfile [path path ...]] [-xi list]

Any number of short option and long option arguments are allowed
(within limits) as well as any number of path arguments for files
to zip up. If zipfile exists, the archive is read in. If zipfile
is "-", stream to stdout. If any path is "-", zip stdin.

Options and Values:
For short options that take values, use -ovalue or -o value or -o=value
For long option values, use either --longoption=value or --longoption value
For example:
zip -ds 10 --temp-dir=path zipfile path1 path2 --exclude pattern pattern
Avoid -ovalue (no space between) to avoid confusion
In particular, be aware of 2-character options. For example:
-d -s is (delete, split size) while -ds is (dot size)
Usually better to break short options across multiple arguments by function
zip -r -dbdcds 10m -lilalf logfile archive input_directory -ll

All args after just "--" arg are read verbatim as paths and not options.
zip zipfile path path ... -- verbatimpath verbatimpath ...
Use -nw to also disable wildcards, so paths are read literally:
zip zipfile -nw -- "-leadingdashpath" "a[path].c" "path*withwildcard"
You may still have to escape or quote arguments to avoid shell expansion

Wildcards:
Internally zip supports the following wildcards:
? (or % or #, depending on OS) matches any single character
* matches any number of characters, including zero
[list] matches char in list (regex), can do range [ac-f], all but [!bf]
If port supports [], must escape [ as [[] or use -nw to turn off wildcards
For shells that expand wildcards, escape (\* or "*") so zip can recurse
zip zipfile -r . -i "*.h"

Normally * crosses dir bounds in path, e.g. 'a*b' can match 'ac/db'. If
-ws option used, * does not cross dir bounds but ** does

For DOS and Windows, [list] is now disabled unless the new option
-RE enable [list] (regular expression) matching
is used to avoid problems with file paths containing "[" and "]":
zip files_ending_with_number -RE foo[0-9].c

Include and Exclude:
-i pattern pattern ... include files that match a pattern
-x pattern pattern ... exclude files that match a pattern
Patterns are paths with optional wildcards and match entire paths as
stored in archive. For example, aa/bb/* will match aa/bb/file.c,
aa/bb/cc/file.txt, and so on. Also, a*b.c will match ab.c, a/b.c, and
ab/cd/efb.c. (But see -ws to not match across slashes.) Exclude and
include lists end at next option, @, or end of line.
zip -x pattern pattern @ zipfile path path ...

Case matching:
On most OS the case of patterns must match the case in the archive, unless
the -ic option is used.
-ic ignore case of archive entries
This option not available on case-sensitive file systems. On others, case
ignored when matching files on file system but matching against archive
entries remains case sensitive for modes -f (freshen), -U (archive copy),
and -d (delete) because archive paths are always case sensitive. With
-ic, all matching ignores case, but it's then possible multiple archive
entries that differ only in case will match.

End Of Line Translation (text files only):
-l change CR or LF (depending on OS) line end to CR LF (Unix->Win)
-ll change CR LF to CR or LF (depending on OS) line end (Win->Unix)
If first buffer read from file contains binary the translation is skipped

Recursion:
-r recurse paths, include files in subdirs: zip -r a path path ...
-R recurse current dir and match patterns: zip -R a ptn ptn ...
Use -i and -x with either to include or exclude paths
Path root in archive starts at current dir, so if /a/b/c/file and
current dir is /a/b, 'zip -r archive .' puts c/file in archive

Date filtering:
-t date exclude before (include files modified on this date and later)
-tt date include before (include files modified before date)
Can use both at same time to set a date range
Dates are mmddyyyy or yyyy-mm-dd

Deletion, File Sync:
-d delete files
Delete archive entries matching internal archive paths in list
zip archive -d pattern pattern ...
Can use -t and -tt to select files in archive, but NOT -x or -i, so
zip archive -d "*" -t 2005-12-27
deletes all files from archive.zip with date of 27 Dec 2005 and later
Note the * (escape as "*" on Unix) to select all files in archive

-FS file sync
Similar to update, but files updated if date or size of entry does not
match file on OS. Also deletes entry from archive if no matching file
on OS.
zip archive_to_update -FS -r dir_used_before
Result generally same as creating new archive, but unchanged entries
are copied instead of being read and compressed so can be faster.
WARNING: -FS deletes entries so make backup copy of archive first

Compression:
-0 store files (no compression)
-1 to -9 compress fastest to compress best (default is 9)
-Z cm set compression method to cm:
store - store without compression, same as option -0
deflate - original zip deflate, same as -1 to -9 (default)
if bzip2 is enabled:
bzip2 - use bzip2 compression (need modern unzip)

Encryption:
-e use standard (weak) PKZip 2.0 encryption, prompt for password
-P pswd use standard encryption, password is pswd (NOT SECURE! See man.)

Splits (archives created as a set of split files):
-s ssize create split archive with splits of size ssize, where ssize nm
n number and m multiplier (kmgt, default m), 100k -> 100 kB
-sp pause after each split closed to allow changing disks
WARNING: Archives created with -sp use data descriptors and should
work with most unzips but may not work with some
-sb ring bell when pause
-sv be verbose about creating splits
Split archives CANNOT be updated, but see --out and Copy Mode below

Using --out (output to new archive):
--out oa output to new archive oa
Instead of updating input archive, create new output archive oa.
Result is same as without --out but in new archive. Input archive
unchanged.
WARNING: --out ALWAYS overwrites any existing output file
For example, to create new_archive like old_archive but add newfile1
and newfile2:
zip old_archive newfile1 newfile2 --out new_archive
Cannot update split archive, so use --out to out new archive:
zip in_split_archive newfile1 newfile2 --out out_split_archive
If input is split, output will default to same split size
Use -s=0 or -s- to turn off splitting to convert split to single file:
zip in_split_archive -s 0 --out out_single_file_archive
WARNING: If overwriting old split archive but need less splits,
old splits not overwritten are not needed but remain

Copy Mode (copying from archive to archive):
-U (also --copy) select entries in archive to copy (reverse delete)
Copy Mode copies entries from old to new archive with --out and is used by
zip when either no input files on command line or -U (--copy) used.
zip inarchive --copy pattern pattern ... --out outarchive
To copy only files matching *.c into new archive, excluding foo.c:
zip old_archive --copy "*.c" --out new_archive -x foo.c
If no input files and --out, copy all entries in old archive:
zip old_archive --out new_archive

Streaming and FIFOs:
prog1 | zip -ll z - zip output of prog1 to zipfile z, converting CR LF
zip - -R "*.c" | prog2 zip *.c files in current dir and stream to prog2 
prog1 | zip | prog2 zip in pipe with no in or out acts like zip - -
If Zip is Zip64 enabled, streaming stdin creates Zip64 archives by default
that need PKZip 4.5 unzipper like UnZip 6.0
WARNING: Some archives created with streaming use data descriptors and
should work with most unzips but may not work with some
Can use -fz- to turn off Zip64 if input not large (< 4 GB):
prog_with_small_output | zip archive -fz-

Zip now can read Unix FIFO (named pipes). Off by default to prevent zip
from stopping unexpectedly on unfed pipe, use -FI to enable:
zip -FI archive fifo

Dots, counts:
-db display running count of bytes processed and bytes to go
(uncompressed size, except delete and copy show stored size)
-dc display running count of entries done and entries to go
-dd display dots every 10 MB (or dot size) while processing files
-de display estimated time to go
-dg display dots globally for archive instead of for each file
zip -qdgds 10m will turn off most output except dots every 10 MB
-dr display estimated zipping rate in bytes/sec
-ds siz each dot is siz processed where siz is nm as splits (0 no dots)
-dt display time started zipping entry in day/hr:min:sec format
-du display original uncompressed size for each entry as added
-dv display volume (disk) number in format in_disk>out_disk
Dot size is approximate, especially for dot sizes less than 1 MB
Dot options don't apply to Scanning files dots (dot/2sec) (-q turns off)
Options -de and -dr do not display for first few entries as calc rate

Logging:
-lf path open file at path as logfile (overwrite existing file)
If path is "-" send log output to stdout, replacing normal
output (implies -q). Without -li, only end summary and any
errors reported. Cannot use with -la or -v.
zip -lf - -dg -ds 10m -r archive.zip foo
will zip up directory foo, displaying just dots every 10 MB
and an end summary.
-la append to existing logfile
-li include info messages (default just warnings and errors)

Testing archives:
-T test completed temp archive with unzip before updating archive
If zip given password, it gets passed to unzip.
-TT cmd use command cmd instead of 'unzip -tqq' to test archive
On Unix, to use unzip in current directory, could use:
zip archive file1 file2 -T -TT "./unzip -tqq"
In cmd, {} replaced by temp archive path, else temp appended,
and {p} replaced by password if one provided to zip.
Return code checked for success (0 on Unix)

Fixing archives:
-F attempt to fix a mostly intact archive (try this first)
-FF try to salvage what can (may get more but less reliable)
Fix options copy entries from potentially bad archive to new archive.
-F tries to read archive normally and copy only intact entries, while
-FF tries to salvage what can and may result in incomplete entries.
Must use --out option to specify output archive:
zip -F bad.zip --out fixed.zip
Use -v (verbose) with -FF to see details:
zip reallybad.zip -FF -v --out fixed.zip
Currently neither option fixes bad entries, as from text mode ftp get.

Difference mode:
-DF (also --dif) only include files that have changed or are
new as compared to the input archive
Difference mode can be used to create incremental backups. For example:
zip --dif full_backup.zip -r somedir --out diff.zip
will store all new files, as well as any files in full_backup.zip where
either file time or size have changed from that in full_backup.zip,
in new diff.zip. Output archive not excluded automatically if exists,
so either use -x to exclude it or put outside what is being zipped.

DOS Archive bit (Windows only):
-AS include only files with the DOS Archive bit set
-AC after archive created, clear archive bit of included files
WARNING: Once the archive bits are cleared they are cleared
Use -T to test the archive before the bits are cleared
Can also use -sf to save file list before zipping files

Show files:
-sf show files to operate on and exit (-sf- logfile only)
-su as -sf but show escaped UTF-8 Unicode names also if exist
-sU as -sf but show escaped UTF-8 Unicode names instead
Any character not in the current locale is escaped as #Uxxxx, where x
is hex digit, if 16-bit code is sufficient, or #Lxxxxxx if 24-bits
are needed. If add -UN=e, Zip escapes all non-ASCII characters.

Unicode:
If compiled with Unicode support, Zip stores UTF-8 path of entries.
This is backward compatible. Unicode paths allow better conversion
of entry names between different character sets.

New Unicode extra field includes checksum to verify Unicode path
goes with standard path for that entry (as utilities like ZipNote
can rename entries). If these do not match, use below options to
set what Zip does:
-UN=Quit - if mismatch, exit with error
-UN=Warn - if mismatch, warn, ignore UTF-8 (default)
-UN=Ignore - if mismatch, quietly ignore UTF-8
-UN=No - ignore any UTF-8 paths, use standard paths for all
An exception to -UN=N are entries with new UTF-8 bit set (instead
of using extra fields). These are always handled as Unicode.

Normally Zip escapes all chars outside current char set, but leaves
as is supported chars, which may not be OK in path names. -UN=Escape
escapes any character not ASCII:
zip -sU -UN=e archive
Can use either normal path or escaped Unicode path on command line
to match files in archive.

Zip now stores UTF-8 in entry path and comment fields on systems
where UTF-8 char set is default, such as most modern Unix, and
and on other systems in new extra fields with escaped versions in
entry path and comment fields for backward compatibility.
Option -UN=UTF8 will force storing UTF-8 in entry path and comment
fields:
-UN=UTF8 - store UTF-8 in entry path and comment fields
This option can be useful for multi-byte char sets on Windows where
escaped paths and comments can be too long to be valid as the UTF-8
versions tend to be shorter.

Only UTF-8 comments on UTF-8 native systems supported. UTF-8 comments
for other systems planned in next release.

Self extractor:
-A Adjust offsets - a self extractor is created by prepending
the extractor executable to archive, but internal offsets
are then off. Use -A to fix offsets.
-J Junk sfx - removes prepended extractor executable from
self extractor, leaving a plain zip archive.

EBCDIC (MVS, z/OS):
-a Translate from EBCDIC to ASCII
-aa Handle all files as text files, do EBCDIC/ASCII conversions

More option highlights (see manual for additional options and details):
-pp prfx prefix string prfx to all paths in archive
-b dir when creating or updating archive, create the temp archive in
dir, which allows using seekable temp file when writing to a
write once CD, such archives compatible with more unzips
(could require additional file copy if on another device)
-MM input patterns must match at least one file and matched files
must be readable or exit with OPEN error and abort archive
(without -MM, both are warnings only, and if unreadable files
are skipped OPEN error (18) returned after archive created)
-MV=m [MVS] set MVS path translation mode. m is one of:
dots - store paths as they are (typically aa.bb.cc.dd)
slashes - change aa.bb.cc.dd to aa/bb/cc/dd
lastdot - change aa.bb.cc.dd to aa/bb/cc.dd (default)
-nw no wildcards (wildcards are like any other character)
-sc show command line arguments as processed and exit
-sd show debugging as Zip does each step
-so show all available options on this system
-X default=strip old extra fields, -X- keep old, -X strip most
-ws wildcards don't span directory boundaries in paths

(c) 2026 HCI Design ( wwwcontactProject X Love Potion Disaster Enable Cheats BESThcidesign.com)