在程序中调用Winrar
winrar e e:\rarfile.rar e:\ 'extract rar file
winrar a e:\MyDir e:\ 'Add rar file
System.Disnogic.Process 可以用来启动一个新的进程,而且在启动新进程的时候可以代参数.
for exp:
Order = "a " & Newname & " " & filename
Dim ps As System.Diagnostics.Process
ps = New System.Diagnostics.Process
ps.EnableRaisingEvents = False
Dim rarfile As FileInfo = New FileInfo(RarName)
If rarfile.Exists Then rarfile.Delete()
Log(RarSt)
ps.Start("rar.exe", Order)
ps.CreateNoWindow = True
'CMD窗口不出现
'==============================================
Dim order As String
Dim rarname As String
Dim filename As String
filename = "Log.txt"
rarname = "2.rar"
order = "a " & rarname & Space(1) & filename
Dim info As New ProcessStartInfo("rar.exe")
info.WindowStyle = ProcessWindowStyle.Hidden
info.Arguments = order
Process.Start(info)
'==============================================
Shell("C:\Program Files\WinRAR\winrar.exe", AppWinStyle.NormalFocus)
在winrar的目录里面,有个叫rar.exe的程序.你只需要启动这个程序再带上正确的参数就行了.
rar.exe的参数.
Usage: rar <command> -<switch 1> -<switch N> <archive> <files...>
<@listfiles...> <path_to_extract\>
<Commands>
a Add files to archive
c Add archive comment
cf Add files comment
cw Write archive comment to file
d Delete files from archive
e Extract files to current directory
f Freshen files in archive
i[par]=<str> Find string in archives
k Lock archive
l[t,b] List archive [technical, bare]
m[f] Move to archive [files only]
p Print file to stdout
r Repair archive
rc Reconstruct missing volumes
rn Rename archived files
rr[N] Add data recovery record
rv[N] Create recovery volumes
s[name|-] Convert archive to or from SFX
t Test archive files
u Update files in archive
v[t,b] Verbosely list archive [technical,bare]
x Extract files with full path
<Switches>
- Stop switches scanning
ac Clear Archive attribute after compression or extraction
ad Append archive name to destination path
ag[format] Generate archive name using the current date
ao Add files with Archive attribute set
ap<path> Set path inside archive
as Synchronize archive contents
av Put authenticity verification (registered versions only)
av- Disable authenticity verification check
c- Disable comments show
cfg- Disable read configuration
cl Convert names to lower case
cu Convert names to upper case
df Delete files after archiving
dh Open shared files
ds Disable name sort for solid archive
e<attr> Set file exclude attributes
ed Do not add empty directories
en Do not put 'end of archive' block
ep Exclude paths from names
ep1 Exclude base directory from names
ep2 Expand paths to full
ep3 Expand paths to full including the drive letter
f Freshen files
hp[password] Encrypt both file data and headers
idp Disable percentage display
ieml[addr] Send archive by email
ierr Send all messages to stderr
ilog[name] Log errors to file (registered versions only)
inul Disable all messages
ioff Turn PC off after completing an operation
isnd Enable sound
k Lock archive
kb Keep broken extracted files
m<0..5> Set compression level (0-store...3-default...5-maximal)
mc<par> Set advanced compression parameters
md<size> Dictionary size in KB (64,128,256,512,1024,2048,4096 or A-G)
ms[ext;ext] Specify file types to store
o+ Overwrite existing files
o- Do not overwrite existing files
oc Set NTFS Compressed attribute
os Save NTFS streams
ow Save or restore file owner and group
p[password] Set password
p- Do not query password
r Recurse subdirectories
r0 Recurse subdirectories for wildcard names only
rr[N] Add data recovery record
rv[N] Create recovery volumes
s[<N>,v[-],e] Create solid archive
s- Disable solid archiving
sfx[name] Create SFX archive
si[name] Read data from standard input (stdin)
t Test files after archiving
ta<date> Process files modified after <date> in YYYYMMDDHHMMSS format
tb<date> Process files modified before <date> in YYYYMMDDHHMMSS format
tk Keep original archive time
tl Set archive time to latest file
tn<time> Process files newer than <time>
to<time> Process files older than <time>
ts<m,c,a>[N] Save or restore file time (modification, creation, access)
u Update files
v Create volumes with size autodetection or list all volumes
v<size>[k,b] Create volumes with size=<size>*1000 [*1024, *1]
vd Erase disk contents before creating volume
ver[n] File version control
vn Use the old style volume naming scheme
vp Pause before each volume
w<path> Assign work directory
x<file> Exclude specified file
x@ Read file names to exclude from stdin
x@<list> Exclude files in specified list file
y Assume Yes on all queries
z<file> Read archive comment from file
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 分享 3 个 .NET 开源的文件压缩处理库,助力快速实现文件压缩解压功能!
· Ollama——大语言模型本地部署的极速利器
· [AI/GPT/综述] AI Agent的设计模式综述