由子未

向上人生路

导航

uharc 使用详解

UHARC.EXE      Win32下运行的主程序
    UHARCD.EXE     Dos32下运行的主程序
    UHARCSFX.EXE   Win32下运行的自解压程序
   
 ===< 使用说明 >===============================================================

UHARC 参数 [-开关] 压缩包名[.uha] [压缩文件名@列表文件名!排除文件名]
  参数:
  ~~~~~~~~~
    a   创建压缩文件或添加文件到压缩文件中    e   解压文件到当前目录
    m   创建压缩文件并删除原文件              x   解压文件到根目录
    l   显示压缩包里的文件                    t   测试压缩文件是否损坏
  开关:
  ~~~~~~~~~
    ac[-,+]     清除文件属性               ae  过滤带特定属性的文件
    b        设置最大文件缓存大小       bpb[-,+]  用bpb代替百分率
    d<0..2>     设置显示模式               ed[-,+]   储存空目录
    idle        设置空闲进程优先级         lg  输出日志到文件
    m<0..3,x,z> 设置压缩模式               md     设置字典大小
    mm[-,+]     多媒体文件检测             o[-,+,p]  设置改写方式
    pw[passwd]  设置密码                   p<-,r,f>  设置路径记录模式
    r[-,+]      压缩的文件中是否包括子目录 t     设置文件解压目录
    vm[-,+]     设置是否使用虚拟内存       y[-,+]    设置是否启用自动应答
  * 命令行模式下直接输入uharc可获得帮助.
  * 参数必须紧跟uharc.
  * 开关必须紧跟参数,你可以使用 "-" 或 "/" 作为开关的连接符.
  * 可以指定压缩文件的后缀名,如果不指定将使用默认的后缀名 ".uha"
  * 你可以建一个列表文件,列表文件里的文件名要加前缀@.
    如果命令行或文件列表中的文件名有 "!"前缀, 那么这个文件将不被处理.
    以下标记将会被uharc识别:"空格, tab and newline" .
    带空格的文件名必须用双引号括起来.
    文件列表中的每行不能超过4095个字符.
  * 命令行和文件列表可以使用通配符,通配符的使用规则和MS-DOS一样.
  * 使用"-r"可以包含字目录
 
 ---<  参数介绍 >----------------------------------------------------------

   a    创建或添加文件.
        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
        如果一个文件已存在, UHARC 将询问是否覆盖.
        除非你使用"-y"将默认的覆盖方式改为全部选是.
        此时这些开关是有效的: ac ae b bpb d ed lg m md mm o p pw r y

   e    解压文件到当前目录.
        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
        使用开关 "-t"可以更改解压目录.
        此时这些开关是有效的: b d lg o pw t y

   l    显示压缩包里的文件.
        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
        使用以下按键阅读文件里标:
             ESCAPE      =  退出列表
             TAB         =  不用在显示一页后暂停
             RETURN      =  下一行
             other keys  =  下一页
        使用开关 "-y", UHARC 在显示完一页后不会停止,
        使用开关 "-d2", 显示详细信息
        此时这些开关是有效的: b bpb d lg pw y

   m    创建压缩文件并删除原文件.
        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
        如果一个文件已存在, UHARC 将询问是否覆盖.
        除非你使用"-y"将默认的覆盖方式改为全部选是.
        压缩结束后,程序将删除除主目录以外的所有文件.
        此时这些开关是有效的: ae b bpb d ed lg m md mm o p pw r y

   t    测试压缩文件是否损坏.
        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
        此时这些开关是有效的: b d lg pw y

   x    解压文件到目录.
        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
        uharc将使用储存在压缩文件里的路径来解压文件.
        如果在创建文件是使用了 "-pf",将包含分区号.
        如果使用了"-t", 就可以选择解压目录
       
        此时这些开关是有效的: b d lg o pw t y

  注意:  在解压或压缩过程中,可以使用ESC退出.
        
 ---<  开关介绍 >----------------------------------------------------------

  --           关闭开关检测
               ~~~~~~~~~~~~~~~~~~~~~~
               如果文件名中有" - "等和开关一样的字符时,
               这个开关是很有用的.uharc将不会把文件名中的特殊字符识别为开关.
               以免出错.
  -!<文件名>     设置在处理时要被忽略的文件
               ~~~~~~~~~~~~~~~~~~~~~~~~~~              
               默认为: -!!

  -@<文件名>     列表文件的文件名
               ~~~~~~~~~~~~~~~~~              
               默认为: -@@

  -ac[-,+]     清除文件属性(对文件夹无效)
               ~~~~~~~~~~~~~~~~~~~~~~~~~~~~
                 -ac[+]  文件在压缩文件中的原有属性,解压后将被清除.
                 -ac-    不清除文件的原有属性.
               默认为: -ac-

  -ae    压缩时具有以下属性的文件将被过滤而不被处理
               ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~               
               可过滤具有以下属性的文件:
                 "A"     存档
                 "H"     隐藏
                 "R"     只读
                 "S"     系统
                 用"+"和"-"来设置过滤器.
               例如:  "-aeA-H+" 表示在要压缩的文件中,
                      不具有存档属性或具有隐藏属性的文件将被过滤.
               默认为: 不指定

  -b        设置文件缓存大小(单位: KB).
               ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
               最小为 50 KB.
               默认为: -b1024

  -bpb[-,+]    显示bpb 而不是 %
               ~~~~~~~~~~~~~~~~~~~~~~~~~~~
                 -bpb[+] 显示bpb.
                 -bpb-   显示%.
               默认为: -bpb-

  -d<0..2>     设置显示模式.
               ~~~~~~~~~~~~~~~~~
                 -d0     没有信息显示,除了提问.
                 -d1     显示少量信息.
                 -d2     显示详细信息.
               默认为: -d1

  -ed[-,+]     保存空的目录
               ~~~~~~~~~~~~~~~~~~~~~~~
                 -ed[+]  保存空的目录.
                 -ed-    压缩时除去空目录.
              
               默认为: -ed-

  -idle        设置空闲进程优先级 (Win32 only)
               ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
               指定uharc以低的优先级并做为后台程序运行,
               默认为: 不指定

  -lg    输出日志到文件.
               ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
               默认为: 不输出日志到文件

  -m<0..3>     设置压缩模式.
               ~~~~~~~~~~~~~~~~~~~~~
                 -m0     不压缩.
                 -m1     使用 ALZ:1 (低压缩比,快速) 压缩模式.
                 -m2     使用 ALZ:2 (一般压缩比,一般速度) 压缩模式.
                 -m3     使用 ALZ:3 (高压缩比,慢速) 压缩模式.
                 -mx     使用 PPM 压缩模式.
                 -mz     使用 LZP 压缩模式.
               默认为: -m2

  -md       设置字典大小 (单位: KB).
               ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
               可用值:
               n = 2 的幂,幂值从 1 到 32768
               字典文件选择规则:
                 1. 选择的字典文件大小将小于设定值.
                 2. 如果设定值大于要压缩的数据大小,将选择尽可能合适的字典.
                 3. 如果系统的内存不足,uharc将选择更大的字典来压缩文件.
                    大的字典文件需要的内存要少.
               默认为: -md4096     即4M

  -md[-,+]     启用不基于字典文件的压缩方式.
               ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
               仅当设置了 "-m1", "-m2", "-m3" and "-mx"等压缩模式时有效.
                 -md[+]  启用不基于字典文件的压缩方式.
                 -md-    禁用不基于字典文件的压缩方式.
               对于音频文件和图像文件,基于字典的压缩方式并不是的最好的方法.
               使用不基于字典文件的压缩方式将能得到更好的压缩效果和速度.
               默认为: -md+

  -mm[-,+]     启用多媒体文件检测和相应的压缩方式.
               ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
                 -mm[+]  启用多媒体文件检测和相应的压缩方式.
                 -mm-    禁用多媒体文件检测和相应的压缩方式.
               对于一些被包含在其他数据文件中的多媒体文件进行相应的压缩.
               默认为: -mm+

  -o[-,+,p]    设置覆盖模式.
               ~~~~~~~~~~~~~~~~~~~
                 -op     覆盖文件前提示用户.
                 -o[+]   直接覆盖不提示.
                 -o-     不覆盖文件.
               使用带"-y" 的-op 将取得和使用 -o[+] 一样的效果.
               如果出现提示,用户可以用以下回答:
                 "Y"     是,覆盖文件.
                 "N"     否,不覆盖文件.
                 "A"     全部覆盖.
                 "C"     取消并退出程序.
               默认为: -op

  -p<-,r,f,e>  设置路径记录模式.
               ~~~~~~~~~~~~~~~~~
                 -p-     只记录文件名而不记录路径.
                 -pr     记录相对路径.
                 -pf     记录包含分区号的绝对路径.
                 -pe     记录相对路径,并忽略在命令行和列表文件中指定的路径.
               相对路径是指文件在分区里的位置,用这种方法备份的文件
               可以还原到某个分区的正确位置.
              
               默认为: -pr

  -ph[-,+]     加密所有文件及文件夹及其所有信息,如文件大小,属性等.
               ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
                 -ph[+]  启用.
                 -ph-    不启用.
               默认为: -ph+

  -pw[passwd]  设置密码
               ~~~~~~~~
                 -pw     要求用户输入密码.
                 -pw  使用 "s" 作为默认密码.
              
               默认为: 不指定  即没有密码

  -px          压缩或解压完成后提示用户是否退出
               ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
              
  -r[-,+]      压缩的文件中是否包括子目录.
               ~~~~~~~~~~~~~~~~~~~~~~~~~~
                 -r[+]   包括子目录.
                 -r-     不包括子目录.
              
               默认为: -r-

  -sfx[stub]   创建自解压文件
               ~~~~~~~~~~~~~~
               将把文件解压到当前目录.自解压程序支持参数 "x", "e" 和 "t"
               创建自解压文件时必须把UHARCSFX.EXE放到当前目录下或与批处理文件
               相同的目录.
               可以使用以下dos命令将一个普通压缩文件转换为自解压文件:
               COPY /B UHARCSFX.EXE+"文件名.uha" "文件名.exe"

  -t       解压文件的目录.
               ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
               使用参数"e",文件将被解压到当前目录.
               使用参数"x",文件将被解压到根目录.             
               dir为要解压到的目录.
               默认为: 不指定

  -vm[-,+]     设置是否使用虚拟内存
               ~~~~~~~~~~~~~~~~~~~~~~~~
                 -vm[+]  使用虚拟内存.
                 -vm-    不使用虚拟内存.
               默认为: -vm-

  -y[-,+]      设置是否启用自动应答.
               ~~~~~~~~~~~~~~~~~~~~~
                 -y[+]   启用自动应答,并对全部提问以"yes"应答.
                 -y-     不启用自动应答.
               默认为: -y-

 ---< 环境变量 >----------------------------------------------

  使用环境变量"UHARC_OPT"可以设定uharc程序的默认参数和开关.
  但这些参数和开关可以被命令里的参数和开关替换.

  例如:
  ~~~~~~~~
    设置环境变量 UHARC_OPT=-d2 -p- -lgc:\uharc.log
    当程序执行时, 默认将显示详细信息,并将日志存放到 "C:\UHARC.LOG"里.
   
  注意:  如果环境变量里包含日志文件开关, 将不能直接禁用日志记录.
         只能在命令行中使用开关"-lgNUL"来代替日志开关.
         "-lgNUL"将忽略默认的日志文件设置并将所有的日志问写入到NUL file

 ===<  例子 >============================================================

  1.    UHARC a archive *.dll @c:\list *.exe
    压缩所有 "*.DLL", "*.EXE"文件 和在"C:\LIST"列表文件里包含的文件
    到"ARCHIVE.UHA"中.
 
  2.    UHARC a -m3 -r -pf -o backup.arc c:\*.ini d:\*.ini c:\*.cfg d:\*.cfg
    使用ALZ:3压缩格式压缩所有在C:盘和D:盘的 "*.INI" and "*.CFG" 文件
    到"BACKUP.ARC"中. 而且uharc会保存所有文件的绝对路径.
    如果已存在一个"BACKUP.ARC"文件,uharc直接覆盖而不提示.

  3.    UHARC m -mz -md64 -mm- -r text c:\text\*.txt
    创建压缩文件TEXT.UHA并删除所有在"C:\TEXT\" 及其子目录中的 "*.TXT" 原文件.
    使用LZP压缩模式,选择的字典文件将小于64K.
    禁用多媒体检测和压缩.
   

  4.    UHARC l -d2 -lguharc.lst archive a*.doc b*.doc
    显示在压缩文件"ARCHIVE.UHA"中的所有"a*.doc"和"b*.doc"文件.
    并将结果保存为日志文件"UHARC.LST".
    可以用来制作列表文件.

  5.    UHARC x -y arc.uha
    将"ARC.UHA"中的文件以他们原来的绝对路径解压.
    除了解压过程中的程序错误,以yes 回答所有提问.
  6.    UHARC e -td:\temp archive readme.txt
    将文件解压到 "D:\TEMP\"目录中.如果此目录不存在,UHARC自动创建它.

  7.    UHARC e -o- sounds @mysounds.lst
    按照列表文件 "MYSOUNDS.LST" 中列出的文件清单,
    将所有清单中的文件解压到当前目录.
    并且不会覆盖已存在文件.
  8.    UHARC t -d2 -lglog archive
    检测"ARCHIVE.UHA" 文件是否损坏,并将日志储存到文件"LOG"中.

  9.    UHARC a -m3 -r -sfx MyGame "Games\My Favourite Game\*.*"
    使用ALZ:3压缩格式,将目录"Games\My Favourite Game\"中的所有文件
    压缩为自解压格式文件"MyGame.exe"

posted on 2009-03-01 17:05  Rayleigh  阅读(2798)  评论(0编辑  收藏  举报