軟體簡介
由於受到
WinRAR本身的限制,很多檔案還是無法壓縮得更小,這時我們可以試試
UHarc--號稱世界上
壓縮比最高的軟體。這是一款極品壓縮軟體,,其超強壓縮比(
壓縮率約20%),可以讓ZIP,RAR,ACE,7-Zip汗顏,但速度之
慢,也令人汗顏。這正是應驗一句老話:“
魚和熊掌不可兼得。”
操作指南
命令簡介
(UHARC對一般檔案的壓縮比可以達到20%左右!真的很厲害,但速度之慢,也令人汗顏)
UHARC命令簡介
UHARC是一個高性能的檔案檔案庫存儲器,這個壓縮檔包含4個檔案:
UHARC.EXE Win32系統的程式版本
UHARCD.EXE Dos32系統的程式版本
UHARCSFX.EXE 創建
自解壓檔案的程式版本(Sfx-Stub for Win32系統)
UHARC.TXT 此文本檔案
新特性
0.6a版本的新特性
這個程式可以運行在任何386或以上的計算機上。記憶體需求的大小依賴於你所選擇壓
縮方式。一次操作的檔案數目限於你的可用記憶體的大小,當前任何版本都不能操作
大於2GB的未壓縮的檔案檔案。
使用方法
===< 使用方法 >=========================================================
用法:UHARC 命令字元 [-參數..] 存檔檔案名稱[.uha] [檔案名稱..@列表檔案名稱..!排除..]
命令字元:
~~~~~~~~~
a 創建檔案檔案/添加檔案 e 從當前的
檔案目錄解壓檔案
m 創建檔案檔案/移動檔案 x 從完整路徑解壓檔案
l 檔案檔案里的檔案列表 t 測試檔案檔案
參數:
~~~~~~~~~
ac[-,+] 清除檔案檔案的存檔屬性 ae<attr> 設定平均修復時間排除...
b<n> 設定檔案
緩衝區上限的大小 bpb[-,+] 輸入輸出的百分比
d<0..2> 設定顯示方式 ed[-,+] 儲存空目錄
idle 設定空閒進程的優先權 lg<file> 輸出日誌檔案
m<0..3,x,z> 設定壓縮方式 md<n> 設定字典大小
mm[-,+] 主存儲器檢測 開/關 o[-,+,p] 設定改寫方式
pw[passwd] 設定密碼 p<-,r,f> 設定管理路徑
r[-,+] 編譯子目錄 t<dir> 設定解壓的目標路徑
vm[-,+] 設定
虛擬記憶體的使用方法 y[-,+] 對所有的詢問回答是
* 要獲取命令行的幫助,請輸入"UHARC"(不要帶任何參數)。
* 命令字元必須置於"UHARC"的後面。
* 任何一個參數都必須跟在命令字元之後。UHARC支持在參數字元選項前使用
"-"或者"/"。
* UHARC的檔案檔案名稱必須是命令行的第一個檔案名稱。
如果它沒有
檔案擴展名,UHARC將增加預設的(".UHA")擴展名。
* 如果命令行的檔案名稱有"@"前綴,那就意味著包含對此檔案的操作,
如果命令行的檔案名稱有"!"前綴,那就意味著排除對此檔案的操作。
允許在檔案名稱之間插入
分隔設定,如:空格,tab控制符和換行符。
檔案名稱如果有空格須附上雙引號。一行上的檔案列表不能超過4095位元組。
* 檔案名稱的
通配符允許在命令行的檔案列表中,但不包含檔案檔案名稱。通配符
的使用是按照
MS-DOS的約定而來的。"*.*"指的是所有檔案。"*.txt"指的是
擴展名為".TXT"的所有檔案。"?B*.*"指的是第二個字元是"B"的所有檔案
* 如果沒有指定檔案通配符,所有檔案("*.*")將會被處理(使用"-r"來查看字元錄).
命令字元
---< 2.1. 命令字元 >----------------------------------------------------------
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 檔案檔案里的列表檔案
~~~~~~~~~~~~~~~~~~~~
使用參數"-y",UHARC在一頁之前不會暫停,你可以使用下面的鍵:
ESC鍵 = 取消 (退出程式)
TAB鍵 = 禁止暫停
其它鍵 = 下一頁
使用參數"-d2",檔案名稱不會被縮短,更多的信息會被顯示出來
依次輸入下列參數來看看效果:b bpb d lg pw y
m 創建檔案檔案且移動匹配檔案
~~~~~~~~~~~~~~~~~~~~~~~~~~
如果有一個檔案檔案名稱已經存在,UHARC將會詢問是否重新寫入此檔案
除非你你改變預設的重新寫入方式或使用"-y"。如果壓縮成功,UHARC
會刪除匹配檔案(非目錄)。
依次輸入下列參數來看效果: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鍵來終止進程(顯示問題時需回答是),
(當為列表檔案時,沒有附加的問題)
參數
---< 2.2. 參數 >----------------------------------------------------------
-- 停止參數的掃描
~~~~~~~~~~~~~~
這個參數告訴UHARC沒有參數需要處理。這是非常有必要的。如果檔案
檔案名稱以"-"字元開始,沒有"--"參數會認為它是一個參數。
-!<char> 設定排除的說明符
~~~~~~~~~~~~~~~~
定義這個字元是為了用作排除的說明符。如果一個在命令行的檔案名稱
或列表檔案前有排除說明符"!",那么它將被排除。如果後面沒有字元,
看起來是("-!"),它將喪失它的作用。這個選項需小心的使用。
-@<char> 設定檔案列表說明符
~~~~~~~~~~~~~~~~~~
定義這個字元是為了使用檔案列表說明符。它的用法是在命令行的檔案
列表前加字元"@"。如果後面沒有字元,看起來是("-@"),它將喪失它
的作用。這個選項需小心的使用。
-ac[-,+] 清除檔案存檔屬性
~~~~~~~~~~~~~~~~
-ac[+] 清除儲存在檔案檔案里的檔案存檔屬性。
如果此選項有效並且壓縮成功,UHARC將會清除儲存在檔案檔案里的檔案
存檔屬性(目錄不會受到影響)。
這個選項只有在添加命令有效果
預設值:-ac-
-ae<attr> 設定屬性的過濾器
~~~~~~~~~~~~~~~~
定義基於
檔案屬性的過濾器。"+"是設定檔案屬性,"-"為清除檔案屬性
檔案屬性:
"A" 存檔屬性
"H" 隱藏屬性
"R" 唯讀屬性
"S" 系統屬性
示例:參數"-aeA-H+"指的是:檔案屬性去掉隱藏屬性
這個選項只有在添加命令和移動命令有效果
~~~~~~~~~~~~~~~~~~~~~~~~~~
用分配檔案緩衝區的大小來壓縮,最小的檔案緩衝區大小是50KB
預設值:-b1024
-bpb[-,+] 顯示輸入輸出
系統參數而不是用百分比
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-bpb[+] 顯示輸入輸出系統參數
-bpb- 顯示壓縮的百分比
-d<0..2> 設定顯示方式
~~~~~~~~~~~~
-d0 靜止方式(除了問題,不顯示過程信息)。
-d1 顯示一些過程信息
-d2 顯示詳細信息(檔案信息,詳細列表)。
預設值:-d1
-ed[-,+] 存儲空目錄
~~~~~~~~~~
-ed[+] 存儲空目錄。
-ed- 不要存儲空目錄
這個選項只有在添加命令和移動命令有效果。
~~~~~~~~~~~~~~~~~~~~~~~~~~~
這個選項強制UHARC設定自己的處理方式為空閒優先權類,這就意味
著UHARC是
後台任務的執行方式,對一般的作業系統只有輕微的影響
(我們有足夠多的記憶體)。這種方式適合處理大型的數據,而不會對系
統產生長時間的阻塞。
預設值:沒有指定
-lg<file> 輸出UHARC日誌檔案
~~~~~~~~~~~~~~~~~
如果UHARC未能打開檔案,則不會創建日誌檔案(也不會有錯誤信息)。
顯示模式的設定也沒有效果。
-m<0..3> 設定壓縮方式
~~~~~~~~~~~~
-m0 不使用壓縮
-m1 使用ALZ:1 (快) 壓縮方式
-m2 使用ALZ:2 (普通) 壓縮方式
-m3 使用ALZ:3 (最好) 壓縮方式
-mx 使用PPM 壓縮方式
-mz 使用LZP 壓縮方式
ALZ使用高級的LZ77壓縮算法編碼。"-m1"是快速使用ALZ的方式,它
犧牲了壓縮比率來獲得比較快的壓縮速度。"-m3"使用了最好的ALZ
的壓縮方式,但需要更多的時間。"-m2"使用的壓縮比率和壓縮速度
是比較適中的,它也是預設的壓縮方式。一般
解壓縮的時間接近於壓
縮的速度,但比它稍快些。
PPM方式按照-4-2-1-0的順序用LZP方式來壓縮。在大多數情況下,這
種方式提供了最好的壓縮結果。
LZP方式使用同樣的字典大小和PPM方式來壓縮。但是按照更簡便的
-1-0順序來壓縮的。
這裡還有2種額外的方式(未來的版本中可能不支持):
-mr 使用簡單的RLE壓縮方式
-mw 使用LZ78可選擇字典大小的壓縮方式
-md<n> 設定字典的大小(in KB)
~~~~~~~~~~~~~~~~~~~~~
如果字典沒有使用,此選項就沒有任何作用。
有效的大小:
-m1..3,-mx,-mz n = 2的1到32768次方或者"a".."p"
-mw n = 2的1到32次方或者"a".."f"
一個字元可以代替設定的大小數字,如:"-mda"等於"-md1"
"-mdk"等於"-md1024"。
字典大小的選擇:
⒈ 使用選項"-md<n>",UHARC將不會選擇一個大於<n>;的檔案。
如果"-md<n>"沒有被使用,UHARC將不會使用一個預設的大
小(n=4096)。
⒉ 如果數據流量小於<n>;,UHARC將會使用更小的字典大小來創建數據。
⒊ 如果當前的選擇沒有足夠的記憶體來完成,UHARC將會使用更
大的字典來儘可能的利用可用記憶體。
-md[-,+] 讓基於字典壓縮(喪失/起)作用
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
這僅在"-m1","-m2","-m3" 和 "-mx"方式有效果。
-md[+] 讓基於字典壓縮起作用
-md- 讓基於字典壓縮喪失作用
通常,不讓基於字典壓縮起作用,所得到的壓縮比率幾乎總是不好。
但是對於同一種數據類型(波形音頻或攝影的
真彩色照片),它的壓縮
比率不會很受影響的。使用"-md-"參數會顯著的加快壓縮的速度。如
過讓基於字典壓縮喪失作用,"-m1","-m2","-m3"這三中方式之間
幾乎沒有什麼差別。
-mm[-,+] 讓內置的多媒體壓縮探測(喪失/起)作用
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-mm[+] 讓內置的多媒體壓縮探測起作用
-mm- 讓內置的多媒體壓縮探測喪失作用
UHARC的多媒體壓縮
探測支持很多數據類型(8/16位單聲道/立體聲道
的波形音頻,24位
真彩色圖片和其它使用8/16/24/32位來記錄大小
的數據類型)。它也可能會探測到另一些象多媒體類型的其它數據類型
(例如:
執行檔)。因此除非用戶知道哪些不是多媒體數據類型
可以不使用探測(例如:壓縮文本)。
-o[-,+,p] 設定改寫方式
~~~~~~~~~~~~
-op 在重寫檔案之前提示用戶
-o[+] 總是不詢問就重寫檔案
-o- 決不重寫檔案
使用-op 和 -y的效果等同於-o[+]。
如果UHARC顯示一個重寫的問題,用戶可以選擇如下的選項:
"Y" 是,改寫當前檔案。
"N" 否,不要改寫當前檔案。
"A" 自動總回答為是並改寫當前檔案。
然後所有改寫請求都為是。
"C" 取消,不要改寫當前檔案並退出程式。
-p<-,r,f,e> 設定路徑方式
~~~~~~~~~~~~
-p- 不要儲存路徑(拒絕路徑名).
-pf 儲存包括驅動器字元的完整路徑。
-pe 儲存相對路徑但是除了所有在命令行列表的指定路徑。
使用選項"-pr",當前路徑被儲存起來(驅動器字元不儲存)。使用選項
"-pf",很可能是從不同的驅動器來
備份所有的數據。使用選項"-pe",
和"-pf"一樣,但是在命令行列表的指定路徑除外。
-ph[-,+] 檔案庫存儲器標題的加密
~~~~~~~~~~~~~~~~~~~~~~
-ph[+] 加密檔案庫存儲器的標題。
-ph- 不加密檔案庫存儲器的標題。
檔案庫存儲器標題包含資料夾名和檔案名稱,大小...來完成檔案檔案的創建。
如果檔案庫存儲器的標題被加密了,需要正確的密碼來使它讀取標題。
預設值:-ph+
-pw[passwd] 設定密碼
~~~~~~~~
-pw 請求用戶輸入密碼。
-pw<s> 使用"s"作為密碼
使用參數"-pw"時為了安全起見,會請求用戶輸入兩遍密碼(輸入的密碼
不會顯示在螢幕上)。
預設值:沒有指定
-px 當程式退出前暫停
~~~~~~~~~~~~~~~~
這個參數告訴UHARC等待你敲一個鍵之後退出。如果控制台視窗將要關閉
它會自動的等到程式完成後關閉。
-r[-,+] 設定包含子目錄的方式
-r[+] 包含子目錄。
-r- 不要包含子目錄。
如果有效,匹配的檔案會搜尋到所有的子目錄(不管目錄名的屬性)。
-sfx[stub] 創建自解壓檔案檔案(僅為Win32版本!)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
使用這個選項UHARC將創建一個自解壓檔案檔案(SFX)。自解壓檔案文
件是Win32
執行檔,它被加到檔案檔案後面,運行一個自解壓檔案
檔案不需要任何選項("x"命令),它解壓到當前目錄。自解壓檔案檔案
支持"x","e" 和 "t"命令,但其它命令不支持。
[stub]是一個可選參數來使用於自解壓檔案檔案,在預設的時候
UHARCSFX.EXE會自動查找它的自己所在的當前目錄。
自解壓檔案檔案的選項只能用在被創建的自解壓檔案檔案上,在DOS命令
下,這個命令只能用於轉換一個存在的UHARC檔案到自解壓檔案檔案中:
COPY /B UHARCSFX.EXE+"archive.uha" "archive.exe"
-t<dir> 設定解壓的目標目錄
~~~~~~~~~~~~~~~~~~
UHARC將會在目錄<dir>;里儲存所有的檔案。如果<dir>;目錄不存在,
UHARC會創建它。
和選項"e"命令一起使用,<dir>;將會被當成當前目錄來解壓,和選項
"x"命令一起使用,<dir>;將會被當成根目錄來解壓檔案。
預設值:沒有指定
~~~~~~~~~~~~~~~~~~~~
-vm[+] 使用虛擬記憶體
-vm- 不使用虛擬記憶體
虛擬記憶體的使用使UHARC喪失了在程式開始時檢查檢查空閒的物理記憶體
的功能,以及不需要更多的記憶體來使用壓縮方式。應適當的使用此選
項,因為還不能保證是否可以在一個多任務系統中使用。
-y[-,+] 設定自動應答方式
~~~~~~~~~~~~~~~~
-y[+] 對所有的問題回答是。
-y- 不要自動回答問題。
使用-y[+]選項,所有的詢問,除了關鍵性錯誤信息外,都不會
在螢幕顯示,並自動都回答是。
預設值:-y-
環境變數
---< 2.3. 環境變數 >----------------------------------------------
有必要定義一個預設的環境變數選項"UHARC_OPT"。只要UHARC被執行它就查找
於命令行。
示例:
~~~~~~
SET UHARC_OPT=-d2 -p- -lgc:\uharc.log
當UHARC被執行是,它會使用冗長的顯示方式,並輸出日誌檔案到預設的目錄:
"C:\UHARC.LOG"中。
注意:如果這個環境變數包含了日誌檔案參數,它不可能立即讓日誌檔案無效。
使用命令行參數"-lgNUL"來代替重寫日誌檔案(無效輸出)。
示例
===< 示例 >==============================================================
⒈ UHARC a archive *.dll @c:\list *.exe
這將使用預設的壓縮方式壓縮當前目錄下所有的DLL檔案,所有的EXE檔案和"C:\LIST"
目錄里的所有檔案到"ARCHⅣE.UHA"這個檔案檔案中。
⒉ UHARC a -m3 -r -pf -o backup.arc c:\*.ini d:\*.ini c:\*.cfg d:\*.cfg
這將使用ALZ:3壓縮方式壓縮c盤,d盤的所有INI檔案和CFG檔案到"backup.arc"這個
檔案檔案中。並且儲存包含有驅動器字元的完整路徑,所以它將恢復正確驅動所有
檔案。如果"backup.arc"檔案已存在,UHARC將不會詢問就改寫檔案。
⒊ UHARC m -mz -md64 -mm- -r text c:\text\*.txt
這將使用LZP方式並且最大為64K不要使用多媒體
探測壓縮從TEXT.UHA(包括子資料夾)
中移動所有TXT檔案到C:\TEXT\里.
⒋ UHARC l -d2 -lguharc.lst archive a*.doc b*.doc
這將要解壓檔案檔案"ARCHⅣE.UHA"里第一個字母是"A"或"B"的DOC檔案,然後輸出
日誌檔案。
⒌ UHARC x -y arc.uha
這將要從完整路徑解壓檔案檔案"arc.uha"里的所有檔案。所有的問題,除了關鍵性
錯誤都回答是,因此,如果一個檔案已經存在,UHARC將會不詢問用戶就改寫它。
⒍ UHARC e -td:\temp archive readme.txt
這將要解壓檔案檔案"ARCHⅣE.UHA"里的"README.TXT"檔案到"D:\TEMP\"目錄。
如果目錄不存在,UHARC將會創建它。
⒎ UHARC e -o- sounds @mysounds.lst
這將要解壓檔案檔案"SOUNDS.UHA"里的"MYSOUNDS.LST"檔案到當前目錄,UHARC
不會改寫一個存在的檔案。
⒏ UHARC t -d2 -lglog archive
這將要測試檔案檔案"ARCHⅣE.UHA"的完整性並輸出日誌檔案。
⒐ UHARC a -m3 -r -sfx MyGame "Games\My Favourite Game\*.*"
這將使用ALZ:3壓縮方式壓縮Games\My Favourite Game\目錄里的全部檔案(包含子目錄)
並打包成一個自解壓包檔案(檔案名稱為MyGame.uhr)。