MsCab.exe works via MultiArc with (Microsoft) CAB archives.
It allows you to create, modify and extract CAB archives.
You can apply following options:

Multiple volumes archive:
  -v360, -v720, -v1200, -v1440    standard floppy disk size
  -v<size>                        <size> bytes volumes
                                  32K <= <size> <= 2047M
    size = <number>[k|K|m|M]
         = number bytes [*1000, *1024, *1000*1000, *1024*1024]

  -vr<size>                       reserve <size> bytes of space on first volume
  -n1                             name of first volume append with '1'
                        (default: Name.cab, Name2.cab, Name3.cab, ...
                             -n1: Name1.cab, Name2.cab, Name3.cab, ...)
  -n01                            name of first volume append with '01'
   ...
  -n000001                        name of first volume append with '000001'

  examples:
    -v1440 -vr100K -n1          1.44 floppy disk size,
                                  first volume smaller 100*1024 bytes,
                                  first volume name append with '1'
    -v4M                        4 MB volume size

Archive folder size:
  -f<size>                        <size> bytes archive folder
                                  32K <= <size> <= 128M
                                  (default: -f16M)
  Small size - fast decompression, (usually) worse compression ratio
  Large size - slow decompression, (usually) better compression ratio

Compression method:
  -NONE                           no compression
  -MSZIP                          ZIP compression method
  -LZX:15, -LZX:16, ..., -LZX:21  LZX compression method
                                  (default: -LZX:21)
Sorting file names:
  -ds                             disable name sort
                                  (default: sort by extension and file size)
Progress information:
  -i                              display progress window in taskbar
  -i0                             display percentage progress in console
                                    window
Path inside archive:
  -ap["]<path>["]                 set path inside archive
                                    for example: -ap"Directory with spaces"
Wildcards:
  -r0                             search for wildcards in subdirs too
  -r                              search for any name in subdirs too

SFX module:
  -sfx[Module][:ScriptFile]       add Module.MsCabSFX (if specified)
                                    or Default.MsCabSFX (if Module omitted)
                                    or internal en_i.MsCabSFX (if there isn't
                                    Default.MsCabSFX on HDD)
                                  SFX module file must be in the same directory
                                    as the MsCab.exe
  -sfx-                           remove SFX module when modifying an archive

  examples:
    -sfxru                        add ru.MsCabSFX module
    -sfxen2_i:C:\Script.txt       add en2_i.MsCabSFX module + C:\Script.txt
                                    script file (valid only for "*_i" modules)

Encryption with password:
  -p[password]                    encrypt files with password; if you don't
                                    specify password (only '-p' switch), MsCab
                                    ask you for a password
  /+<name(s)>                     if you start with '/+' option (after '-p'
                                    option), MsCab assume that you want
                                    to encrypt only files specified in '/+'
                                    option(s), excluding files from '/-'
                                    option(s)
  /-<name(s)>                     if you start with '/-' option (after '-p'
                                    option), MsCab assume that you want
                                    to encrypt all files excluding specified
                                    in '/-' option(s)
  -rp                             recurse subdirectories in '/+' and '/-' options
  -rp0                            recurse subdirectories for wildcard names only
                                    in '/+' and '/-' options
  examples:
    -p"My password" /-ReadMe.* /+*.htm* -rp0
                                  encrypt all files with 'My password' password
                                    except 'ReadMe.*' files in all subdirs, but
                                    encrypt 'ReadMe.htm*' files
    -p /+*.exe /+*.dll            encrypt *.exe and *.dll files from top level
                                    directory with password (MsCab ask you for
                                    the password)

Adding directory names to archive:
  -dirs[-]                        turn on [off] adding dirs into archive

Dialog box for choosing options:
  -ask[-]                         MsCab displays [or not] a GUI dialog box
                                    for easy options setting

Set priority:
  -ri<n>                          n | Priority
                                  --+--------------
                                  0 | PRIORITY_IDLE
                                  1 | PRIORITY_BELOW_NORMAL (default)
                                  2 | PRIORITY_NORMAL (default up to 0.60)
                                  3 | PRIORITY_ABOVE_NORMAL

Working directory:
  -wt                             force temporary folder
  -wd                             force destination folder
  -w[directory]                   force user specified directory
                                    for example -w"c:\My documents\temp"
  -w                              turn back autodetect of working dir


WARNING: If you want to make a standard CAB archive, please use -dirs- option,
         don't use encryption with password and don't pack more than 65535 files
         per cabinet.
         If you want to add dirs names and/or encrypt files with password in
         archive that you send to someone, consider making SFX archive (for
         archive with encrypted files you must use bigger *_i.MsCabSFX module).
         In this case you will be sure, that the person who receive this archive
         can unpack it.


Options are case sensitive. You must put them before command letter.

If you want to view contents and extract files from SFX CAB archives
(and even from some *.msi files) via MsCab, rename considered files
to names with .cab extension.


If you prefer FAR File and Archive Manager, copy MsCab.exe to directory
pointed by PATH (i.e. '\WINDOWS\COMMAND') and double-click 'FAR - MsCab.reg'.
You can use new "Cab.fmt" add-on for FAR - copy this file to
"\Program Files\Far\Plugins\MultiArc\Formats\Cab.fmt". New "Cab.fmt" supports
more than 65535 files per cabinet.

You can use MsCab manually from command line (not recommended).
Examples:
  MsCab -i0 -r a t               - Add to 't.cab' all files from current
                                   directory (an subdirs)
  MsCab -i0 m t.cab *.doc *.wbk  - Move to 't.cab' all *.doc and *.wbk files
                                   from current directory
  MsCab x t.cab                  - Extract (with paths) all files from 't.cab'
  MsCab -sfx s t.cab             - Convert 't.cab' archive to 't.exe'
                                   SFX archive with default SFX module



*** Script File Description ***

Script file is simply text file of the form:
MBSF
Key1=Value1
Key2=Value2
...
END=

First 4 bytes of the script must be MBSF (Mateusz Brzostek Script File ;-)).

Currently there are 14 valid keys:
Title -- you can specify text in the title bar of main MsCab SFX window;
Text  -- you can specify (up to 750 chars) text instead of default
         "Press "OK" button..."; For new line character use \n string,
         for \ character use \\ string; do not break this line by ENTER;
Prompt -- text that replaces "Extract to:";
IDOK  -- text that replaces "OK" in the IDOK button;
Path  -- you can specify suggested path; you can specify an absolute path
         or you can use a special folder paths; you can specify environment
         variables to expand by *NAME*, for example
           Path=c:\%USERNAME%\*USERNAME*\USERNAME
         it will be expanded to
           c:\%USERNAME%\Mateusz\USERNAME
         if 'USERNAME' environment variable is equal to 'Mateusz';
         currently only five 'special folders' are valid:
  :PERSONAL  -- "My documents" folder;
  :DESKTOPDIRECTORY  -- "Windows\Desktop" folder (after extraction
                        there are icons on the screen);
  :STARTUP  -- File system directory that corresponds to the user's
               Startup program group;
  :TEMP     -- the path of the directory designated for temporary files.
  :PROGRAMFILES  -- ProgramFilesDir

Open=<FileName>
OpenDel=<FileName>
Run=<CommandLine>
RunDel=<CommandLine>
  -- you can specify file to open (for example ReadMe.html) or whole command
  line to execute (for example Notepad.exe "My TXT file.txt"); 'OpenDel' and
  'RunDel' waits for process finish and deletes extracted files/dirs;
  you can use up to 8 Open/OpenDel/Run/RunDel commands (in sum)
WaitDel=<FileName>
  -- it waits for read/write access to 'FileName' file; you can use it
  when SetUp.exe launches Install.exe and terminates -- in such case use
    RunDel=SetUp.exe
    WaitDel=Install.exe
  -- it prevents from too fast deleting files;
  you can use up to 8 'WaitDel' commands, but you must use at least one
  Open/OpenDel/Run/RunDel command when you use 'WaitDel'
RunText=<Prompt>
  -- you can specify new prompt instead of default
  '&Run "%s" after unpacking'
  (%s is for first Open/OpenDel/Run/RunDel command)
Over=1
  -- you can initially check '&Overwrite without prompting'
OverText=<Prompt>
  -- you can specify new prompt instead of default
  '&Overwrite without prompting'
Off=[Path][Run][Over]
  -- you can turn off 'Path' edit box, 'Run' or/and 'Over' checkbox (do not
  forget to specify valid path when you use 'Off=Path' command)

Last 4 bytes of that script must be END=

Example:
MBSF
Title=Main window title
Text=   Hello!\n   Would you like to extract this archive into 'SubDir' directory in your documents folder?
Path=:PERSONAL\SubDir
IDOK=Extract
Over=1
Open=ReadMe.txt
RunText=Display ReadMe file
Off=Path Over
END=

If you omit some key, the default values (for that key) will be used.

If you use
  -sfxen_i:Script.txt
option in MsCab, the 'Script.txt' file will be loaded from the same directory
as MsCab.exe; if there is no 'Script.txt' file in that directory, MsCab loads
script file from the current directory. You can also specify an absolute path
for script file.

You can use the script file only with xx_i.MsCabSFX or xx2_i.MsCabSFX
modules, where xx is from desired language (de, en, fr, it, pl, ru).
From MsCab 0.60b6 you can use the script file with internal (en_i) MsCabSFX
module (for example -sfx:Script.txt).

For latest version of MsCab please visit http://www.mscab.prv.pl