WinRAR的自解壓模式 - imsoft.cnblogs

來源:互聯網
上載者:User

標籤:class   blog   c   ext   a   strong   

一個 SFX ( SelF-eXtracting)自解壓檔案是壓縮檔的一種,它結合了可執行檔模組,一種用以運行從壓縮檔解壓檔案的模組。這樣的壓縮檔不需要外部程式來解壓自解壓檔案的內容,它自己便可以運行該項操作。然而 WinRAR 仍然可將自解壓檔案當成是任何其它的壓縮檔處理。所以如果你不願意運行所收到的自解壓檔案 (比如說,它可能含有病毒時),你可以使用 WinRAR 來查看或是解壓它的內容。

自解壓檔案通常與其它的可執行檔一樣都有 .exe 的副檔名。

  自解壓檔案是很方便的,如果你想要將壓縮檔給某一個人時,但卻不知道他們是否有該壓縮程式可以解壓檔案的時候。你也可以使用自解壓來發布你自己的軟體,例如 WinRAR 的安裝程式便是使用圖形 GUI RAR 自解壓模組 Default.sfx 所製作的。

  要從命令列建立自解壓檔案,你可以使用 -sfx 開關來製作新的壓縮檔,或是 S 來將已存在的壓縮檔轉換成自解壓檔案。 在 WinRAR 圖形介面則有兩種方式,一個是當要建立新的壓縮檔時,從壓縮檔名和參數對話方塊選擇“建立自解壓檔案”選項,另一個是輸入已存在的壓縮檔並單擊 “自解壓”按鈕。

  WinRAR 中包含了數個自解壓模組,全部的自解壓模組都有 .sfx 副檔名並且必須放在 WinRAR 所在的檔案夾中。預設的 WinRAR 始終使用 Default.sfx 模組,但是你也可以直接以“-sfx”開關或是“S”命令來直接指定其它的模組名。例如,轉換 myarchive.rar 成為自解壓格式,使用 WinCon.SFX 模組運行:

WinRAR SWinCon.SFX myarchive.rar

  在 WinRAR 圖形介面下,你可在菜單中選擇你想要用的自解壓模組,在當你運行“轉換到自解壓檔案”命令時,它就會出現讓你選擇。

 

㈠、圖形介面 RAR 和 ZIP 自解壓模組(Default.SFX 和 Zip.SFX)

 

  使用這兩種模組你可以建立 GUI (圖形模式) 自解壓檔案 的 32 位 Windows 版本(Windows 95,98,NT 等等 ),這些模組無法在 Windows 3.1 或 DOS 下運行。使用 Default.SFX 模組於 RAR 壓縮檔 以及 Zip.SFX 給 ZIP 壓縮檔。

 

  在自解壓模組包含的 Windows 資源是允許修改成你所需要的樣子的。例如,你可以在起始對話方塊中顯示你希望的位元影像。WinRAR 並不提供修改資源的工具或文檔。這是個很複雜的過程,如果你要如此做,你必須有資源編輯器,並知道要怎樣使用它們。但如果標準的自解壓對話方塊即可滿足你的話,你就不需要再修改資源了。

  在自解壓模組包含的 Windows 資源是允許修改成你所需要的樣子的。例如,你可以在起始對話方塊中顯示你希望的位元影像。WinRAR 並不提供修改資源的工具或文檔。這是個很複雜的過程,如果你要如此做,你必須有資源編輯器,並知道要怎樣使用它們。但如果標準的自解壓對話方塊即可滿足你的話,你就不需要再修改資源了。如果你僅僅要改變自解壓的位元影像或表徵圖,你可以使用進階自解壓選項對話方塊中的“文本和表徵圖”。

 

說明:WinRAR 預設建立的是 RAR 自解壓檔案,所以在“模組”中只能看到 RAR 自解壓模組。如果要建立 ZIP 自解壓檔案,則需要在“壓縮檔格式”中選擇為 ZIP 。然後,在“模組”中就可以看到 ZIP 自解壓模組了。

 

1,圖形介面自解壓模組: 命令列選項

 

選項 描述 -d<路徑> 設定解壓檔案的目標路徑。 -p<密碼> 指定加密的自解壓壓縮檔的密碼。

-s, -s1, -s2

緘默模式。開關 -s 是 -s1 的簡明形式。-s 和 -s1 都隱藏 SFX 對話方塊和解壓進程。-s2 隱藏啟動對話方塊,但是顯示解壓進程。 -sp<par> 定義傳遞給在 Setup 命令中指定的應用程式的參數。

 

2,圖形介面自解壓模組: 安裝命令(自解壓指令碼命令)

 

Setup

命令命令

文法

敘述

Delete Delete=<檔案名稱> 解壓前先刪除檔案 License License=<許可協議對話方塊標題 > 顯示程式的許可協議 Overwrite Overwrite=[n] 選擇檔案的覆蓋模式 Path Path 設定預設目標路徑 Presetup Presetup=<程式> 指定解壓前啟動並執行程式 SavePath SavePath 儲存目標路徑 Setup Setup=<程式> 指定解壓後啟動並執行程式 Shortcut shortcut=<目標類型 >,<源名>,<目標檔案夾 >,<描述>,<捷徑名 > 建立解壓檔案的捷徑 Silent Silent[=參數] 跳過開始時的對話方塊 TempMode TempMode=[問題敘述 ][@視窗標題文本 ] 解壓壓縮檔到臨時檔案夾 Text Text=<字串> 添加文本到自解壓對話方塊文字視窗 Title Title=<標題> 設定自解壓對話方塊標題

 

3,“進階自解壓選項”對話方塊

  對話方塊可通過從把壓縮檔轉換成自解壓格式命令,然後單擊“進階自解壓選項”按鈕啟動。它允許指定一些自解壓壓縮檔的參數,如預設目標路徑,視窗標題和文本。它會使用在 Windows 自解壓模組專門主題所描述的自解壓指令碼命令,自動產生指令碼。因此你不需要學習指令碼語言和自己輸入命令,只需要設定想要的選項即可。

  請注意這些自解壓參數僅能夠應用在 Windows 圖形介面模組,而不支援控制台或非 Windows 自解壓程式。

  此對話方塊的自解壓參數被結合成一個子對話方塊,描述如下 :  

 

⑴,自解壓選項: 常規

 

解壓路徑

設定要解壓檔案的預設目標路徑。你可以選擇要將它建立在使用者的“Program Files”檔案夾,或當前檔案夾,或在此指定一個絕對路徑。前兩種情況不需要包含磁碟機代號或首碼的“\”反斜線字元,而第三個則必須要有。

相應的 自解壓指令碼 命令 - Path

 

Path=<路徑>

設定預設的目標路徑。路徑的絕對使用起始點在不更改的情況下為 <磁碟機代號>:,如果 <路徑> 只包含了名稱,它將會被附加到“Program Files”檔案夾下,如果你希望關閉如此的作用,請從“.\”字元開始定義起始 <路徑 >

例子:

a) 設定“Calc 3.05 beta”為檔案夾名,位置在“Program Files”下,當成預設路徑:

Path=Calc 3.05 beta

b) 設定“C:\Calc”當作預設路徑:

Path=C:\Calc

c) 設定“Calc”在根目錄下當作預設路徑:

Path=.\Calc

 

解壓路徑/儲存並復原路徑

這個選項允許自解壓程式在註冊表中儲存使用者輸入的目標路徑,並在自解壓檔案下一次運行時恢複相同的解壓路徑。原來的路徑值被放在輸入目標路徑地區的列表下拉式功能表中,所以使用者可以在以前輸入的和原始路徑中選擇。

當安裝新版本或更新一些軟體到同樣的目錄時,這個功能可能很便利。它允許只改變一次目標路徑,而不需要每次都輸入。

這隻可以用在非空的解壓路徑地區的組合框中。

相應的 SFX 指令碼 命令 - SavePath

 

SavePath

這個命令允許自解壓程式在註冊表中儲存使用者輸入的目標路徑,並在自解壓檔案下一次運行時恢複相同的 Path。原來的 Path 命令內容被放在輸入目標路徑地區的列表下拉式功能表中,所以使用者可以在以前輸入的和原始路徑中選擇。

當安裝新版本或更新一些軟體到同樣的目錄時,這個功能可能很便利。它允許只改變一次目標路徑,而不需要每次都輸入。

SavePath 命令只能和 Path 命令一起使用一次。

例子:

Path=Calc 3.05

SavePath

 

安裝程式/解壓後運行

自解壓程式在成功解壓之後,將試著運行指定的程式。含有解壓檔案的檔案夾,在運行程式之前會被設為當前檔案夾。如果程式名包含空格,則它必須使用引號。

相應的 自解壓指令碼 命令 - Setup

 

Setup=<程式>

在成功解壓之後自解壓將會試著運行 <程式>。在運行 <程式> 之前,包含已解壓檔案的檔案夾將會設為當前檔案夾

例子:

Setup=setup.exe

注意

1) 如果你在使用自解壓運行 InstallShield setup.exe 有問題的話,請試著運行 “Setup.exe /SMS”來代替簡潔的“Setup.exe”。此開關允許自解壓檢測安裝程式的退出。

2) 你可以使用 -sp<參數> 自解壓命令列開關 傳遞可選的參數到 Setup=<程式> 命令指定的程式。

3) 自解壓模組在啟動安裝程式前設定 sfxnamesfxcmd 環境變數。sfxname 變數包含自解壓模組的名字,sfxcmd 變數包含自解壓模組接收的完整命令列。所以安裝程式可以在需要這樣的資訊時讀取它。安裝程式如果需要這些資訊可以讀取它們。

 

安裝程式/解壓前運行

在開始解壓之前,自解壓程式會試著運行指定的程式,在運行程式前,目標目錄會被設為當前檔案夾。如果程式名包含空格,則它必須使用引號。例如,當安裝新版要覆蓋舊版時,要刪除舊版程式的時候,你便可以指定該命令。

相應的 自解壓指令碼 命令 - Presetup

 

Presetup=<程式>

自解壓在解壓之前將試著運行 <程式>,在運行 <程式> 之前必須先指定目標檔案夾。你可以使用此命令,比如說,當安裝新版本於舊版本上面時,用以刪除先前的程式版本。如果程式名包含空格,它必須包含在引號之內。

例子:

Presetup=uninstall.exe /clean

 

儲存當前設定當成預設值

儲存所有在 “進階自解壓選項”對話方塊 內所做的和當前的設定,並在以後每次建立 自解壓 壓縮檔時,以它們當作預設值。

 

⑵,自解壓選項: 進階

 

-目標檔案夾中要刪除的檔案

解壓前,自解壓程式會試著刪除所指定的檔案或在目標檔案夾內的檔案。你可以在此輸入超過一個以上的檔案,要如此做時,檔案名稱之間必須以空格分隔。

如果在此指定的檔案被鎖定而無法刪除,自解壓模組在解壓前會試著將它臨時重新命名,並在 Windows 重新啟動時刪除它,這能不能成功則取決於 Windows 版本的差異。

相應的 自解壓指令碼 命令 - Delete

 

Delete=<檔案名稱>

在解壓到目標檔案夾之前刪除指定的檔案,允許數個 Delete 命令。

如果在此指定的檔案被鎖定而無法刪除,自解壓模組在解壓前會試著將它臨時重新命名,並在 Windows 重新啟動時刪除它,這能不能成功則取決於 Windows 版本的差異。

例子:

Delete=winrar95.exe

Delete=rarlng.dll

 

- 捷徑

允許解壓後為被壓縮檔建立捷徑。按下“添加捷徑”按鈕來描述一個新的捷徑。已經輸入的捷徑參數被儲存在和捷徑指令碼命令格式相同的列表下。如果你願意的話,你可以手動編輯它。

相應的 自解壓指令碼 命令 - Shortcut

 

shortcut=<目標類型 >,<源名>,<目標檔案夾 >,<描述>,<捷徑名 >

為解壓的檔案常見一個捷徑。

目標類型 是一個一個字元寬的地區,可以有下列值:

D 在案頭建立捷徑 S 在開始菜單建立捷徑 P 在開始菜單/ 程式中建立捷徑 T 在啟動菜單中建立捷徑

源名 是壓縮檔名。

目標檔案夾是建立捷徑的檔案夾,如果它不存在,它將被自解壓檔案建立。

描述 是描述捷徑的字串。

捷徑名 是由自解壓建立的 .lnk (捷徑 )檔案的檔案名稱。

所有參數用逗號分隔。如果你需要添加逗號字元在參數內,鑲入整個參數引用。如果你需要在字串中插入一個引用標記,要輸入兩次引號。只有 目標類型源名是必需的,其它參數可選。

例子

在案頭建立在 WinRAR 檔案夾中串連到 winrar.exe 的捷徑,帶有“WinRAR 可執行檔”的描述和“WinRAR 壓縮檔管理器”的名稱:

Shortcut=D,winrar.exe,WinRAR,“WinRAR 可執行檔”,“WinRAR 壓縮檔管理器”

 

⑶,自解壓選項: 模式

 

-臨時模式/解壓檔案到臨時檔案夾

此選項強制自解壓程式建立一個臨時檔案夾,然後將所有檔案解壓縮到這個檔案夾中,開始運行在 安裝程式/解壓後運行 地區所指定的程式,並在 安裝 程式完成後刪除臨時檔案夾中的所有內容。當運行這些操作時,自解壓程式會自動化佈建為緘默模式 (下面說明)。如果設定“解壓壓縮檔到臨時檔案夾”,你也可同時指定 安裝 程式且不使用 解壓路徑 地區。你還可以設定兩種可選的字串參數,即定義問題和解壓縮前顯示問題的標題。此類型的例子下僅在使用者選擇“是”按鈕時才會開始解壓縮。

相應的 自解壓指令碼 命令 - TempMode

 

TempMode=[問題敘述 ][@視窗標題文本 ]

此命令強制自解壓建立一個臨時目錄,將全部檔案解壓至此,然後開始運行 Setup 命令所指定的程式,並在完成 Setup 程式之後將臨時目錄中的內容全部清除。當運行這些操作時,自解壓會自動化佈建為 緘默模式。如果 TempMode 命令存在的話,敘述中將有 Setup 命令且不得使用 path 命令。

TempMode 命令可以有字串參數的選項,在解壓之前可用以定義問題和問題的標題。這樣的例子,僅在當使用者選擇了“是” 按鈕時才會開始解壓。

例子:

a) TempMode

b) TempMode=你希望繼續安裝 Calculator 3.05 嗎? Calculator 安裝程式

 

-緘默模式

預設自解壓在開始解壓縮前會先詢問確認,並允許使用者更改目標檔案夾。如果你設定“緘默模式”的“隱藏啟動時的對話方塊”,這時會跳過確認畫面。如果你也希望隱藏解壓縮過程的話,請選擇“全部隱藏”。

相應的 自解壓指令碼 命令 - Silent

 

Silent[=參數]

開始解壓時不顯示開始對話方塊。

參數 可以是 1 或 2。如果 參數 是 1,開始解壓對話方塊會完全隱藏,包含進程指示和檔案名稱。如果 參數 被忽略或是 2,則跳過開始解壓的確認,但使用者仍然可以看到壓縮檔的解壓進程。

例子:

Silent=2

 

-覆蓋模式

在此你可以選擇讓自解壓程式如何操作你已存在的檔案 : 覆蓋之前詢問 (預設值 )、永遠覆蓋或永遠跳過。

相應的 自解壓指令碼 命令 - Overwrite

 

Overwrite=[n]

如果[n]為 0,在覆蓋檔案之前使用者將會被先詢問。這是 覆蓋命令的預設動作,可以不需要指定。如果 [n]不存在或是等於[1],檔案將在沒有確認的狀況下全部覆蓋。如果 [n]等於[2],所有已存在的檔案將不會被覆蓋。

例子:

Overwrite=1

 

⑷,自解壓選項: 文本和表徵圖

 

-自解壓視窗標題

設定指定的文本作為自解壓視窗的標題。

相應的 自解壓指令碼 命令 - Title

 

Title=<標題>

設定自解壓的視窗標題。

例子:

Title==Calculator,版本 3.05

 

-自解壓視窗顯示的文本

添加在自解壓模組的文本輸出視窗中指定的純文字或 HTML 字串。

對於純文字,為了使字串和對話方塊匹配,自解壓模組將合并和重新格式化指定的字串。所以如果你希望重建一個新的段落,你需要在它前面放一個空的字串。

你可以使用 HTML 來控制顏色,字型和顯示的格式。 HTML 文法的描述可以在 The World Wide Web Consortium 網站找到。也可以使用網頁編輯程式來產生 HTML 文本。

相應的 自解壓指令碼 命令 - Text

 

此命令支援兩種文法版本:

a)

Text=<字串>

b)

Text

{

字串 1

字串 2

...

}

它在自解壓模組的輸出視窗添加指定純文字或 HTML字串。當自解壓模組第一次遇到 Text 命令,在添加<字串 >前,它重設這個視窗預設內容。其後的命令追加 <字串>到已經存在的文本後。

依賴於使用的文法,這個命令可以一次添加一個或者數個字串。

對於純文字的過程中,為了使字串和對話方塊匹配,自解壓模組將合并和重新格式化指定的字串。所以如果你希望重新產生一個新的段落,你需要在它前面放一個空的字串。

你可以使用 HTML 來控制顏色,字型和顯示的格式。 HTML 文法的描述可以在 The World Wide Web Consortium 網站找到。也可以使用網頁編輯程式來產生 HTML 文本。

如果文本由數個字串組成,自解壓模組把‘ }’字元作為文本的結束標記,所以你在你的文本的字串的首個位置不應該使用此字元。如果你需要在字串的開頭使用‘ }’字元,在它前面插入空格。

例子:

a) 添加單個字串到對話方塊視窗

Text=這是我的新程式

b) 添加指定文本到對話方塊視窗“Text

{

此程式最有趣的特性是:

- 支援 Windows 剪貼簿;

- 每一個處理的檔案大小最大為 10KB;

}

 

從檔案載入文本

載入選擇檔案的內容作為子解壓視窗文本。

 

從檔案載入自解壓圖片

指定位元影像映像 (*.bmp) 檔案用於建立或更新自解壓壓縮檔。

 

- 從檔案載入自解壓檔案表徵圖

使用目標 .ico 檔案替換預設的自解壓檔案包含的表徵圖。這個檔案必須至少包含一個 32x32 表徵圖,16 或 256 色(或全有)表徵圖。推薦不需要包含16x16表徵圖。大小超過 32x32 和顏色數超過 256 色的表徵圖僅被基於 NT 的 Windows (NT, 2000, XP, 2003 等)支援,Windows 95, 98 和 Me 不支援。如果你要使用大的表徵圖大小和壓縮深度,則你不能使用任何第三方可執行檔壓縮程式壓縮自解壓模組。

 

⑸,自解壓選項: 許可

 

- 許可視窗標題

設定指定的文本作為許可視窗標題。

 

-許可文本

當運行自解壓檔案時顯示指定的作為軟體許可協議的文本。使用者可以接受它並繼續解壓或者拒絕它並退出。

許可文本可以包含 HTML 或純文字格式。在以後的處理過程中,為了使字串和對話方塊匹配,自解壓模組將合并和重新格式化指定的字串。所以如果你希望重建一個新的段落,你需要在它前面放一個空的字串。

你可以使用 HTML 標籤來控制顏色,字型和顯示的格式。 HTML 文法的描述可以在 The World Wide Web Consortium 網站找到。也可以使用網頁編輯程式來產生 HTML 文本。

相應的 自解壓指令碼 命令 - License

 

License=<許可協議對話方塊標題 >

{

許可協議文本 1

許可協議文本 2

...

}

當運行自解壓檔案時顯示指定的作為軟體許可協議文本。使用者既可以接受它並繼續解壓或者拒絕它並退出。

許可可以包含HTML 或者純文字格式。在以後的處理過程中,為了使字串和對話方塊匹配,自解壓模組將合并和重新格式化指定的字串。所以如果你希望重新產生一個新的段落,你需要在它前面放一個空的字串。

你可以使用 HTML 來控制顏色,字型和顯示的格式。 HTML 文法的描述可以在 The World Wide Web Consortium 網站找到。也可以使用網頁編輯程式來產生 HTML 文本。

如果文本由數個字串組成,自解壓模組把‘ }’字元作為文本的結束標記,所以你在你的文本的字串的首個位置不應該使用此字元。如果你需要在字串的開頭使用‘ }’字元,在它前面插入空格。

例子:

License=終端使用者許可協議書

{

所有著作權於 RAR 均屬於作者所專有。

此程式是共用軟體,任何人在測試期限內均可以使用此軟體。

在測試期限過後,你“必須”註冊。

 

從檔案載入文本

載入選擇檔案的內容作為許可文本。

 

⑹,自解壓選項: 模組

 

允許選擇 自解壓 模組。 注意並不是所有的模組都支援進階自解壓選項。它只被 圖形介面 RAR 和 ZIP 模組( Default.SFX 和 Zip.SFX ) 支援,而不被 控制台 RAR 模組 ( WinCon.SFX )DOS RAR 自解壓模組 ( Dos.SFX ) 支援。

 

4,把壓縮檔轉換成自解壓格式

 

  此命令使用於當 WinRAR 是用在檔案管理和壓縮檔管理員模式時。它將會轉換壓縮檔成為自解壓。如果你在壓縮檔內部,你不需要選擇任何要運行該命令的檔案,只要使用工具菜單、工具列上的“自解壓檔案”按鈕或鍵盤快速鍵 Alt+X 運行“把壓縮檔轉換成自解壓格式”命令,並從列表中選擇需要的自解壓模組。如果你在檔案管理模式瀏覽未被壓縮的檔案,首先選擇要搜尋來轉換的檔案和檔案夾。

如果壓縮已經是自解壓檔案,使用該命令可讓你從壓縮檔刪除已存在的自解壓壓縮模組。這類例子時, WinRAR 不會改變原有的壓縮檔,只建立內容相同,但沒有自解壓模組的新壓縮檔。

  如果你選定了 Windows 圖形介面自解壓模組,會有些推薦的預設值,你也可以單擊“進階自解壓選項”按鈕設定例如預設目標路徑、標題和視窗文本等的自解壓參數設定。讀取進階自解壓選項主題可獲得更多關於它們的資訊。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.