uharc 使用详解
UHARC.EXE Win32下运行的主程序
UHARCD.EXE Dos32下运行的主程序
UHARCSFX.EXE Win32下运行的自解压程序
UHARC 参数 [-开关] 压缩包名[.uha] [压缩文件名@列表文件名!排除文件名]
a 创建或添加文件.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
如果一个文件已存在, UHARC 将询问是否覆盖.
除非你使用"-y"将默认的覆盖方式改为全部选是.
e 解压文件到当前目录.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
使用开关 "-t"可以更改解压目录.
l 显示压缩包里的文件.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
使用以下按键阅读文件里标:
m 创建压缩文件并删除原文件.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
如果一个文件已存在, UHARC 将询问是否覆盖.
除非你使用"-y"将默认的覆盖方式改为全部选是.
压缩结束后,程序将删除除主目录以外的所有文件.
t 测试压缩文件是否损坏.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
此时这些开关是有效的: b d lg pw y
x 解压文件到目录.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
uharc将使用储存在压缩文件里的路径来解压文件.
如果在创建文件是使用了 "-pf",将包含分区号.
如果使用了"-t", 就可以选择解压目录
此时这些开关是有效的: b d lg o pw t y
注意: 在解压或压缩过程中,可以使用ESC退出.
---< 开关介绍 >----------------------------------------------------------
-- 关闭开关检测
~~~~~~~~~~~~~~~~~~~~~~
如果文件名中有" - "等和开关一样的字符时,
这个开关是很有用的.uharc将不会把文件名中的特殊字符识别为开关.
以免出错.
-@<文件名> 列表文件的文件名
~~~~~~~~~~~~~~~~~
默认为: -@@
-ac[-,+] 清除文件属性(对文件夹无效)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-ac[+] 文件在压缩文件中的原有属性,解压后将被清除.
-ac- 不清除文件的原有属性.
-ae 压缩时具有以下属性的文件将被过滤而不被处理
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
可过滤具有以下属性的文件:
"A" 存档
"H" 隐藏
"R" 只读
"S" 系统
-b 设置文件缓存大小(单位: KB).
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
最小为 50 KB.
-bpb[-,+] 显示bpb 而不是 %
~~~~~~~~~~~~~~~~~~~~~~~~~~~
-bpb[+] 显示bpb.
-bpb- 显示%.
-d<0..2> 设置显示模式.
~~~~~~~~~~~~~~~~~
-d0 没有信息显示,除了提问.
-d1 显示少量信息.
-d2 显示详细信息.
-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 压缩模式.
-md 设置字典大小 (单位: KB).
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
可用值:
-md[-,+] 启用不基于字典文件的压缩方式.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
仅当设置了 "-m1", "-m2", "-m3" and "-mx"等压缩模式时有效.
-mm[-,+] 启用多媒体文件检测和相应的压缩方式.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-mm[+] 启用多媒体文件检测和相应的压缩方式.
-mm- 禁用多媒体文件检测和相应的压缩方式.
-o[-,+,p] 设置覆盖模式.
~~~~~~~~~~~~~~~~~~~
-op 覆盖文件前提示用户.
-o[+] 直接覆盖不提示.
-o- 不覆盖文件.
-p<-,r,f,e> 设置路径记录模式.
~~~~~~~~~~~~~~~~~
-p- 只记录文件名而不记录路径.
-pr 记录相对路径.
-pf 记录包含分区号的绝对路径.
-pe 记录相对路径,并忽略在命令行和列表文件中指定的路径.
-ph[-,+] 加密所有文件及文件夹及其所有信息,如文件大小,属性等.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-ph[+] 启用.
-ph- 不启用.
-pw[passwd] 设置密码
~~~~~~~~
-pw 要求用户输入密码.
-pw 使用 "s" 作为默认密码.
默认为: 不指定 即没有密码
-px 压缩或解压完成后提示用户是否退出
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-r[-,+] 压缩的文件中是否包括子目录.
~~~~~~~~~~~~~~~~~~~~~~~~~~
-r[+] 包括子目录.
-r- 不包括子目录.
默认为: -r-
-sfx[stub] 创建自解压文件
~~~~~~~~~~~~~~
将把文件解压到当前目录.自解压程序支持参数 "x", "e" 和 "t"
创建自解压文件时必须把UHARCSFX.EXE放到当前目录下或与批处理文件
相同的目录.
-t 解压文件的目录.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
使用参数"e",文件将被解压到当前目录.
使用参数"x",文件将被解压到根目录.
dir为要解压到的目录.
-vm[-,+] 设置是否使用虚拟内存
~~~~~~~~~~~~~~~~~~~~~~~~
-vm[+] 使用虚拟内存.
-vm- 不使用虚拟内存.
-y[-,+] 设置是否启用自动应答.
~~~~~~~~~~~~~~~~~~~~~
-y[+] 启用自动应答,并对全部提问以"yes"应答.
-y- 不启用自动应答.
---< 环境变量 >----------------------------------------------
使用环境变量"UHARC_OPT"可以设定uharc程序的默认参数和开关.
但这些参数和开关可以被命令里的参数和开关替换.
例如:
~~~~~~~~
设置环境变量 UHARC_OPT=-d2 -p- -lgc:\uharc.log
===< 例子 >============================================================
1. UHARC a archive *.dll @c:\list *.exe
3. UHARC m -mz -md64 -mm- -r text c:\text\*.txt
4. UHARC l -d2 -lguharc.lst archive a*.doc b*.doc
5. UHARC x -y arc.uha
7. UHARC e -o- sounds @mysounds.lst
9. UHARC a -m3 -r -sfx MyGame "Games\My Favourite Game\*.*"
UHARCD.EXE Dos32下运行的主程序
UHARCSFX.EXE Win32下运行的自解压程序
===< 使用说明 >===============================================================
UHARC 参数 [-开关] 压缩包名[.uha] [压缩文件名@列表文件名!排除文件名]
参数:
~~~~~~~~~
a 创建压缩文件或添加文件到压缩文件中 e 解压文件到当前目录
m 创建压缩文件并删除原文件 x 解压文件到根目录
l 显示压缩包里的文件 t 测试压缩文件是否损坏
~~~~~~~~~
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[-,+] 设置是否启用自动应答
~~~~~~~~~
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个字符.
如果命令行或文件列表中的文件名有 "!"前缀, 那么这个文件将不被处理.
以下标记将会被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 = 下一页
TAB = 不用在显示一页后暂停
RETURN = 下一行
other keys = 下一页
使用开关 "-y", UHARC 在显示完一页后不会停止,
使用开关 "-d2", 显示详细信息
使用开关 "-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将选择更大的字典来压缩文件.
大的字典文件需要的内存要少.
1. 选择的字典文件大小将小于设定值.
2. 如果设定值大于要压缩的数据大小,将选择尽可能合适的字典.
3. 如果系统的内存不足,uharc将选择更大的字典来压缩文件.
大的字典文件需要的内存要少.
默认为: -md4096 即4M
-md[-,+] 启用不基于字典文件的压缩方式.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
仅当设置了 "-m1", "-m2", "-m3" and "-mx"等压缩模式时有效.
-md[+] 启用不基于字典文件的压缩方式.
-md- 禁用不基于字典文件的压缩方式.
-md- 禁用不基于字典文件的压缩方式.
对于音频文件和图像文件,基于字典的压缩方式并不是的最好的方法.
使用不基于字典文件的压缩方式将能得到更好的压缩效果和速度.
使用不基于字典文件的压缩方式将能得到更好的压缩效果和速度.
默认为: -md+
-mm[-,+] 启用多媒体文件检测和相应的压缩方式.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-mm[+] 启用多媒体文件检测和相应的压缩方式.
-mm- 禁用多媒体文件检测和相应的压缩方式.
对于一些被包含在其他数据文件中的多媒体文件进行相应的压缩.
默认为: -mm+
-o[-,+,p] 设置覆盖模式.
~~~~~~~~~~~~~~~~~~~
-op 覆盖文件前提示用户.
-o[+] 直接覆盖不提示.
-o- 不覆盖文件.
使用带"-y" 的-op 将取得和使用 -o[+] 一样的效果.
如果出现提示,用户可以用以下回答:
"Y" 是,覆盖文件.
"N" 否,不覆盖文件.
"A" 全部覆盖.
"C" 取消并退出程序.
如果出现提示,用户可以用以下回答:
"Y" 是,覆盖文件.
"N" 否,不覆盖文件.
"A" 全部覆盖.
"C" 取消并退出程序.
默认为: -op
-p<-,r,f,e> 设置路径记录模式.
~~~~~~~~~~~~~~~~~
-p- 只记录文件名而不记录路径.
-pr 记录相对路径.
-pf 记录包含分区号的绝对路径.
-pe 记录相对路径,并忽略在命令行和列表文件中指定的路径.
相对路径是指文件在分区里的位置,用这种方法备份的文件
可以还原到某个分区的正确位置.
默认为: -pr
可以还原到某个分区的正确位置.
默认为: -pr
-ph[-,+] 加密所有文件及文件夹及其所有信息,如文件大小,属性等.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-ph[+] 启用.
-ph- 不启用.
默认为: -ph+
-pw[passwd] 设置密码
~~~~~~~~
-pw 要求用户输入密码.
-pw
默认为: 不指定 即没有密码
-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
只能在命令行中使用开关"-lgNUL"来代替日志开关.
"-lgNUL"将忽略默认的日志文件设置并将所有的日志问写入到NUL file
===< 例子 >============================================================
1. UHARC a archive *.dll @c:\list *.exe
压缩所有 "*.DLL", "*.EXE"文件 和在"C:\LIST"列表文件里包含的文件
到"ARCHIVE.UHA"中.
到"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直接覆盖而不提示.
到"BACKUP.ARC"中. 而且uharc会保存所有文件的绝对路径.
如果已存在一个"BACKUP.ARC"文件,uharc直接覆盖而不提示.
3. UHARC m -mz -md64 -mm- -r text c:\text\*.txt
创建压缩文件TEXT.UHA并删除所有在"C:\TEXT\" 及其子目录中的 "*.TXT" 原文件.
使用LZP压缩模式,选择的字典文件将小于64K.
禁用多媒体检测和压缩.
使用LZP压缩模式,选择的字典文件将小于64K.
禁用多媒体检测和压缩.
4. UHARC l -d2 -lguharc.lst archive a*.doc b*.doc
显示在压缩文件"ARCHIVE.UHA"中的所有"a*.doc"和"b*.doc"文件.
并将结果保存为日志文件"UHARC.LST".
可以用来制作列表文件.
并将结果保存为日志文件"UHARC.LST".
可以用来制作列表文件.
5. UHARC x -y arc.uha
将"ARC.UHA"中的文件以他们原来的绝对路径解压.
除了解压过程中的程序错误,以yes 回答所有提问.
除了解压过程中的程序错误,以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"
压缩为自解压格式文件"MyGame.exe"