如何用命令列生成WinRAR自解壓檔案

2021-06-18 02:48:13 字數 2948 閱讀 2176

如何用命令列生成

winrar

自解壓檔案

一、目的:

實現對程式和程式所需要的

source

檔案進行打包,並能夠在自解壓完成後,自動執行該程式。

二、參考文獻:

winrar

中help

的help topics

提供了詳盡介紹,這裡只是對涉及的內容進行了歸納,並通過

c#在程式中實現。

三、操作步驟:

這裡介紹命令列的實現方法,實現環境是c#的

:1.生成自解壓檔案

通過呼叫

winrar

的命令列和配置引數,實現該功能。

winrar

的命令列格式:

winrar  --<@listfiles...> 在

help

中的command line syntax

中有詳細介紹,此處用乙個例子進行說明:

system.diagnostics.process proc = 

newsystem.diagnostics.process();

proc.enableraisingevents = 

false;

//rar

在本機的物理位置

proc.startinfo.filename = "e:\\program files\\winrar\\rar";

//a 

向壓縮檔案中增加檔案

//-sfx 

生成預設的自解壓檔案

//-o+

自動覆蓋壓縮檔案中存在的相同檔案

//-ep1

不儲存完整路徑,在自解壓的時候不會按照原始的路徑進行解壓

//第乙個g:\\vincent_wu_vss\\new是值生成的自解壓檔案儲存在什麼位置,在本例中將會在//g:\vincent_wu_vss\下生成名稱為new.exe的自解壓檔案 //

最後的g:\\vincent_wu_vss\\new\\是指將g:\vincent_wu_vss\new\資料夾下的所有檔案都新增在自解//壓檔案中

proc.startinfo.arguments = "a -sfx -o+ -ep1 g:\\vincent_wu_vss\\new g:\\vincent_wu_vss\\new\\";

proc.start();

2.增加自動執行命令

首先需要乙個配置檔案,以下建立乙個名字為

info.txt

的配置檔案,內容為:

title=

壓縮包text

setup=trydownload.exe

配置檔案會影響自解壓檔案的顯示: 圖

1 自解壓程式的執行介面 其中

title

會影響圖

1中標註

1處的內容,

text

影響標註

2處的內容,還可以通過

path

來設定標註

3處的內容,如果沒有設定,預設的內容是安裝包目前所在的物理路徑。

以下是使用

c#來實現對自解壓檔案的配置:

system.diagnostics.process proc = 

newsystem.diagnostics.process();

proc.enableraisingevents = 

false;

proc.startinfo.filename = "e:\\program files\\winrar\\rar";

//c 

向壓縮檔案增加注釋

//-z 

從檔案中讀取注釋

//g:\\vincent_wu_vss\\info.txt 

為配置檔案的物理路徑

//g:\\vincent_wu_vss\\new.exe 

為自解壓檔案的物理路徑

proc.startinfo.arguments = "c -zg:\\vincent_wu_vss\\info.txt g:\\vincent_wu_vss\\new.exe";

proc.start();

四、注意事項

在實際操作中,如果需要將介紹的兩個步驟都放在乙個程式塊中,需要等待步驟

1完成,並且生成了對應的自解壓檔案後,再執行步驟

2system.diagnostics.process proc = 

newsystem.diagnostics.process();

proc.enableraisingevents = 

false;

proc.startinfo.filename = "e:\\program files\\winrar\\rar";

proc.startinfo.arguments = "a -sfx -o+ -ep1 g:\\vincent_wu_vss\\new g:\\vincent_wu_vss\\new\\";

proc.start();

//判斷是否生成了自解壓檔案

while

(system.io.file.exists("g:\\vincent_wu_vss\\new.exe") == 

false)

proc = 

newsystem.diagnostics.process();

proc.enableraisingevents = 

false;

proc.startinfo.filename = "e:\\program files\\winrar\\rar";

proc.startinfo.arguments = "c -zg:\\vincent_wu_vss\\info.txt g:\\vincent_wu_vss\\new.exe";

proc.start();

原文:

如何用openssl命令列生成證書

老大要我在web server裡面加上https功能,可是但就使用openssl生成證書就耗費了我兩天時間,網上有很多相關的資料,但是都寫的很複雜,照著他們的來,還是走了很多彎路。我總結一下,步驟主要有 cd usr local ssl 二 拷貝openssl.cnf,把ssl下的openssl.c...

winrar 命令列 解壓檔案

1,最簡單的壓縮命令 winrar a asdf.txt.rar asdf.txt a的意思是進行壓縮動作,後面第乙個引數是被壓縮後的檔名,字尾當然是rar了,最後面 的引數就是要被壓縮的檔名 2,最簡單的解壓縮命令 winrar e asdf.txt.rar e的意思是執行解壓縮,解壓縮的檔案是後...

windows下如何用命令列修改mysql的密碼?

1 首先進入mysql mysql u root p enter password 回車就好 2 查詢使用者密碼 查詢使用者密碼命令 mysql select host,user,authentication string from mysql.user host 允許使用者登入的ip 位置 表示可...