600字范文,内容丰富有趣,生活中的好帮手!
600字范文 > C#实现rar压缩与解压缩文件的方法

C#实现rar压缩与解压缩文件的方法

时间:2021-05-30 21:45:27

相关推荐

C#实现rar压缩与解压缩文件的方法

哈喽!大家好,我是HappyGirl快乐女孩,最爱海贼王💞💞💞

是一位爱好技术的【技术Fans】!😜😜😜

💞💞💞 如果有对技术感兴趣的宅友,欢迎关注💞💞💞

❤️❤️❤️感谢各位❤️❤️❤️

————————————————

此程序利用 WinRAR 程序对文件进行压缩,命令行语法可参考WinRAR中文帮助。

🎒🎒🎒 文章目录🎒🎒🎒

目录

🏳️‍🌈利用WinRAR进行压缩

🍁 利用WinRAR解压缩

📣WinRAR语法

🎒🎒🎒 目录结束🎒🎒🎒

🏳️‍🌈利用WinRAR进行压缩

/// <param name="path">将要被压缩的文件夹(绝对路径)</param> /// <param name="rarPath">压缩后的 .rar 的存放目录(绝对路径)</param>/// <param name="rarName">压缩文件的名称(包括后缀)</param> /// <returns>true 或 false。压缩成功返回 true,反之,false。</returns>public bool RAR(string path, string rarPath, string rarName) { bool flag = false; string rarexe; //WinRAR.exe 的完整路径 RegistryKey regkey; //注册表键 Object regvalue; //键值 string cmd;//WinRAR 命令参数 ProcessStartInfo startinfo; Process process; try { regkey = Registry.ClassesRoot.OpenSubKey(@"Applications\WinRAR.exe\shell\open\command"); regvalue = regkey.GetValue(""); // 键值为 "d:\Program Files\WinRAR\WinRAR.exe" "%1" rarexe = regvalue.ToString(); regkey.Close(); rarexe = rarexe.Substring(1, rarexe.Length - 7); // d:\Program Files\WinRAR\WinRAR.exe Directory.CreateDirectory(path); //压缩命令,相当于在要压缩的文件夹(path)上点右键 ->WinRAR->添加到压缩文件->输入压缩文件名(rarName) cmd = string.Format("a {0} {1} -r", rarName, path); startinfo = new ProcessStartInfo(); startinfo.FileName = rarexe; startinfo.Arguments = cmd; //设置命令参数 startinfo.WindowStyle = ProcessWindowStyle.Hidden; //隐藏 WinRAR 窗口 startinfo.WorkingDirectory = rarPath; process = new Process(); process.StartInfo = startinfo; process.Start(); process.WaitForExit(); //无限期等待进程 winrar.exe 退出 if (process.HasExited) { flag = true; } process.Close(); } catch (Exception e) { throw e; } return flag; }

🍁 利用WinRAR解压缩

/// <param name="path">文件解压路径(绝对)</param> /// <param name="rarPath">将要解压缩的 .rar 文件的存放目录(绝对路径)</param>/// <param name="rarName">将要解压缩的 .rar 文件名(包括后缀)</param>/// <returns>true 或 false。解压缩成功返回 true,反之,false。</returns>public bool UnRAR(string path, string rarPath, string rarName) { bool flag = false; string rarexe; RegistryKey regkey; Object regvalue; string cmd; ProcessStartInfo startinfo; Process process; try { regkey = Registry.ClassesRoot.OpenSubKey(@"Applications\WinRAR.exe\shell\open\command"); regvalue = regkey.GetValue(""); rarexe = regvalue.ToString(); regkey.Close(); rarexe = rarexe.Substring(1, rarexe.Length - 7); Directory.CreateDirectory(path); //解压缩命令,相当于在要压缩文件(rarName)上点右键 ->WinRAR->解压到当前文件夹 cmd = string.Format("x {0} {1} -y", rarName, path); startinfo = new ProcessStartInfo(); startinfo.FileName = rarexe; startinfo.Arguments = cmd; startinfo.WindowStyle = ProcessWindowStyle.Hidden; startinfo.WorkingDirectory = rarPath; process = new Process(); process.StartInfo = startinfo; process.Start(); process.WaitForExit(); if (process.HasExited) { flag = true; } process.Close(); } catch (Exception e) { throw e; } return flag; }

📣WinRAR语法

e 解压压缩文件到当前目录

l[t,b] 列出压缩文件[技术信息,简洁]

p 打印文件到标准输出设备

t 测试压缩文件

v[t,b] 详细列出压缩文件[技术信息,简洁]

x 用绝对路径解压文件

<开关>

- 停止扫描

ac 压缩或解压后清除存档属性

ad 添加压缩文件名到目标路径

ap<格式> 添加路径到压缩文件中

av- 禁用用户身份校验

c- 禁用注释显示

cfg- 禁用读取配置

cl 名称转换为小写

cu 名称转换为大写

dh 打开共享文件

ep 从名称中排除路径

ep3 扩展路径为包含盘符的完全路径

f 刷新文件

id[c,d,p,q] 禁用消息

ierr 发送所有消息到标准错误设备

inul 禁用所有消息

ioff 完成一个操作后关闭 PC 电源

kb 保留损坏的已解压文件

n<文件> 仅包含指定的文件

n@ 从标准输入设备读取文件名到包括

n@<列表> 在指定的文件列表包括文件

o+ 覆盖已存在文件

o- 不覆盖已存在文件

oc 设置 NTFS 压缩属性

or 自动重命名文件

ow 保存或恢复文件所有者和组

p[密码] 设置密码

p- 不询问密码

r 递归子目录

ri<P>[:<S>] 设置优先级(0-默认,1-最小..15-最大)和以毫秒为单位的休眠时间

sl<大小> 处理小于指定大小的文件

sm<大小> 处理超过指定大小的文件

ta<日期> 添加日期 <日期> 后修改的文件,日期格式 YYYYMMDDHHMMSS

tb<日期> 添加日期 <日期> 前修改的文件,日期格式 YYYYMMDDHHMMSS

tn<时间> 添加 <时间> 以后的文件

to< 时间> 添加 <时间> 以前的文件

ts<m,c,a>[N] 保存或恢复文件时间(修改,创建,访问)

u 更新文件

v 列出所有卷

ver[n] 文件版本控制

vp 每卷之前暂停

x<文件> 排除指定的文件

x@ 从标准输入设备读取要排除的文件名

x@<列表> 排除指定列表文件中的文件

y 假设对全部询问都回答是

各位走过路过,不要错过,记得关注我哦

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。