UHarc

UHarc

UHarc,是一款極品壓縮軟體,號稱世界上壓縮比最高的軟體。作者Uwe Herklotz。其超強壓縮比可以讓ZIP,RAR,ACE,7-Zip汗顏。越大的檔案,越能體現出UHarc壓縮的優勢。不過UHarc提高了壓縮率,卻是以花費更多的時間為代價的。UHARC有Win32系統和Dos32系統兩個程式版本。

軟體簡介

UHarc運行界面 UHarc運行界面

由於受到 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[+] 清除儲存在檔案檔案里的檔案存檔屬性。

-ac- 不要清除檔案的存檔屬性。

如果此選項有效並且壓縮成功,UHARC將會清除儲存在檔案檔案里的檔案

存檔屬性(目錄不會受到影響)。

這個選項只有在添加命令有效果

預設值:-ac-

-ae<attr> 設定屬性的過濾器

~~~~~~~~~~~~~~~~

定義基於檔案屬性的過濾器。"+"是設定檔案屬性,"-"為清除檔案屬性

檔案屬性:

"A" 存檔屬性

"H" 隱藏屬性

"R" 唯讀屬性

"S" 系統屬性

示例:參數"-aeA-H+"指的是:檔案屬性去掉隱藏屬性

這個選項只有在添加命令和移動命令有效果

預設值:沒有指定

-b<n> 設定最大檔案緩衝區大小(KB)

~~~~~~~~~~~~~~~~~~~~~~~~~~

用分配檔案緩衝區的大小來壓縮,最小的檔案緩衝區大小是50KB

預設值:-b1024

-bpb[-,+] 顯示輸入輸出系統參數而不是用百分比

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

-bpb[+] 顯示輸入輸出系統參數

-bpb- 顯示壓縮的百分比

預設值:-bpb-

-d<0..2> 設定顯示方式

~~~~~~~~~~~~

-d0 靜止方式(除了問題,不顯示過程信息)。

-d1 顯示一些過程信息

-d2 顯示詳細信息(檔案信息,詳細列表)。

預設值:-d1

-ed[-,+] 存儲空目錄

~~~~~~~~~~

-ed[+] 存儲空目錄。

-ed- 不要存儲空目錄

這個選項只有在添加命令和移動命令有效果。

預設值:-ed-

-idle 設定空閒進程優先權(僅Win32)

~~~~~~~~~~~~~~~~~~~~~~~~~~~

這個選項強制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可選擇字典大小的壓縮方式

預設值:-m2

-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將會使用更

大的字典來儘可能的利用可用記憶體。

預設值:-md4096

-md[-,+] 讓基於字典壓縮(喪失/起)作用

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

這僅在"-m1","-m2","-m3" 和 "-mx"方式有效果。

-md[+] 讓基於字典壓縮起作用

-md- 讓基於字典壓縮喪失作用

通常,不讓基於字典壓縮起作用,所得到的壓縮比率幾乎總是不好。

但是對於同一種數據類型(波形音頻或攝影的真彩色照片),它的壓縮

比率不會很受影響的。使用"-md-"參數會顯著的加快壓縮的速度。如

過讓基於字典壓縮喪失作用,"-m1","-m2","-m3"這三中方式之間

幾乎沒有什麼差別。

預設值:-md+

-mm[-,+] 讓內置的多媒體壓縮探測(喪失/起)作用

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

-mm[+] 讓內置的多媒體壓縮探測起作用

-mm- 讓內置的多媒體壓縮探測喪失作用

UHARC的多媒體壓縮探測支持很多數據類型(8/16位單聲道/立體聲道

的波形音頻,24位真彩色圖片和其它使用8/16/24/32位來記錄大小

的數據類型)。它也可能會探測到另一些象多媒體類型的其它數據類型

(例如:執行檔)。因此除非用戶知道哪些不是多媒體數據類型

可以不使用探測(例如:壓縮文本)。

預設值:-mm+

-o[-,+,p] 設定改寫方式

~~~~~~~~~~~~

-op 在重寫檔案之前提示用戶

-o[+] 總是不詢問就重寫檔案

-o- 決不重寫檔案

使用-op 和 -y的效果等同於-o[+]。

如果UHARC顯示一個重寫的問題,用戶可以選擇如下的選項:

"Y" 是,改寫當前檔案。

"N" 否,不要改寫當前檔案。

"A" 自動總回答為是並改寫當前檔案。

然後所有改寫請求都為是。

"C" 取消,不要改寫當前檔案並退出程式。

預設值:-op

-p<-,r,f,e> 設定路徑方式

~~~~~~~~~~~~

-p- 不要儲存路徑(拒絕路徑名).

-pr 儲存相對路徑

-pf 儲存包括驅動器字元的完整路徑。

-pe 儲存相對路徑但是除了所有在命令行列表的指定路徑。

使用選項"-pr",當前路徑被儲存起來(驅動器字元不儲存)。使用選項

"-pf",很可能是從不同的驅動器來備份所有的數據。使用選項"-pe",

和"-pf"一樣,但是在命令行列表的指定路徑除外。

預設值:-pr

-ph[-,+] 檔案庫存儲器標題的加密

~~~~~~~~~~~~~~~~~~~~~~

-ph[+] 加密檔案庫存儲器的標題。

-ph- 不加密檔案庫存儲器的標題。

檔案庫存儲器標題包含資料夾名和檔案名稱,大小...來完成檔案檔案的創建。

如果檔案庫存儲器的標題被加密了,需要正確的密碼來使它讀取標題。

預設值:-ph+

-pw[passwd] 設定密碼

~~~~~~~~

-pw 請求用戶輸入密碼。

-pw<s> 使用"s"作為密碼

使用參數"-pw"時為了安全起見,會請求用戶輸入兩遍密碼(輸入的密碼

不會顯示在螢幕上)。

預設值:沒有指定

-px 當程式退出前暫停

~~~~~~~~~~~~~~~~

這個參數告訴UHARC等待你敲一個鍵之後退出。如果控制台視窗將要關閉

它會自動的等到程式完成後關閉。

-r[-,+] 設定包含子目錄的方式

-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[+] 使用虛擬記憶體

-vm- 不使用虛擬記憶體

虛擬記憶體的使用使UHARC喪失了在程式開始時檢查檢查空閒的物理記憶體

的功能,以及不需要更多的記憶體來使用壓縮方式。應適當的使用此選

項,因為還不能保證是否可以在一個多任務系統中使用。

預設值:-vm-

-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)。

注意:自解壓和長檔案名稱只支持Win32的版本

相關詞條

相關搜尋

熱門詞條

聯絡我們