如何用命令列生成
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 位置 表示可...