因工作中要对数据打包,顺便研究了下WinRAR的命令行模式,自己写了些例子,基本用法如下:

测试压缩文件准备:文件夹test_data,内部包含子文件夹,分别存放了一些*.log和*.txt文件。

测试代码如下:

 rem 压缩全部文件,按类型压缩,zip打包
WinRAR.exe a num_all.zip .\test_data\
WinRAR.exe a num_txt.zip .\test_data\num*.txt
WinRAR.exe a num_log.zip .\test_data\num*.log rem 压缩全部文件,按类型压缩,rar打包
WinRAR.exe a num_all.rar .\test_data\
WinRAR.exe a num_txt.rar .\test_data\num*.txt
WinRAR.exe a num_log.rar .\test_data\num*.log rem 默认压缩根目录,递归处理子文件夹使用 -r
WinRAR.exe a -r num_all_tg.zip .\test_data\*.*
WinRAR.exe a -r num_all_txt.zip .\test_data\*.txt
WinRAR.exe a -r num_all_log.rar .\test_data\*.log rem 添加注释,注释从一个txt文件读取,txt文件名info.txt
WinRAR.exe c -zinfo.txt num_all.zip
WinRAR.exe c -zinfo.txt num_all.rar rem 从压缩包中读取注释,写入到read.txt文件,默认ASCII,参数-scuc表示unicode
WinRAR.exe cw num_all.zip read1_ASCII.txt
WinRAR.exe cw num_all.rar read2_ASCII.txt
WinRAR.exe cw -scuc num_all.rar read_unicode.txt rem 从压缩包中删除制定文件
WinRAR.exe d num_all_tg.zip *.log rem 解压到当前目录下,不包含压缩包内的路径
WinRAR.exe e num_all_tg.zip
rem 解压到制定目录下,不包含压缩包内的路径
WinRAR.exe e num_all_tg.zip .\test_d2
rem 解压到当前目录下,只解压制定类型的文件
WinRAR.exe e num_all_tg.zip *.log rem 给压缩包内的文件重命名
WinRAR.exe rn num_all_tg.zip num(1).txt num(1).bak num(2).txt num(2).bak
WinRAR.exe rn num_all.rar *.txt *.bak rem 使用压缩包捏的绝对路径解压
WinRAR.exe x num_all_tg.zip
rem 使用压缩包捏的绝对路径解压,解压指定类型文件
WinRAR.exe x num_all_tg.zip *.log
rem 使用压缩包捏的绝对路径解压,解压指定类型文件,并解压到指定文件夹
WinRAR.exe x num_all_tg.zip *log .\new_data\

以上为winrar的基本压缩,解压命令。

关于winrar 的开关选项,以后有空再研究整理。

备注:WinRAR.exe为安装完后,从安装目录将主程序winRAR.exe拷贝出来即可,该程序是独立可运行的。

以下为winRAR的命令帮助原文:

Alphabetic commands list


a add files to an archive
c add an archive comment
ch change archive parameters
cv convert archives
cw write an archive comment to file
d delete files from an archive
e extract files from an archive, ignoring paths
f freshen files within an archive
i find string in archives
k lock an archive
m move files and folders to an archive
r repair a damaged archive
rc reconstruct missing volumes
rn rename archived files
rr[N] add data recovery record
rv[N] create recovery volumes
s[name] convert an archive to a self-extracting type
s- remove SFX module
t test archive files
u update files within an archive
x extract files from an archive with full paths

Winrar的命令行模式程序在安装目录下的 rar.exe (打包压缩程序),unrar.exe(解压缩程序),以我安装的winrar5.3为例,帮助文档如下:

 ..\WinRAR\Rar.exe:

 RAR 5.30 beta     版权所有 (C) - Alexander Roshal
试用版本 输入 RAR -? 以获得帮助 用法:rar <命令> -<参数 > -<参数 N> <压缩文件> <文件...>
<@列表文件...> <解压路径\> <命令>
a 添加文件到压缩文件
c 添加压缩文件注释
ch 更改压缩文件参数
cw 将压缩文件注释写入文件
d 从压缩文件中删除文件
e 提取文件无需压缩文件的路径
f 更新压缩文件里的文件
i[par]=<str> 查找压缩文件中的字符串
k 锁定压缩文件
l[t[a],b] 列出压缩文件内容 [technical[all], bare]
m[f] 移动到压缩文件 [仅文件]
p 打印文件到 stdout
r 修复压缩文件
rc 重建丢失的分卷
rn 重命名已压缩文件
rr[N] 添加数据恢复记录
rv[N] 创建恢复分卷
s[name|-] 转换压缩文件为自解压或自解压转换为压缩文件
t 测试压缩文件
u 更新压缩文件中的文件
v[t[a],b] 详细列出压缩文件内容 [technical[all],bare]
x 使用完整路径提取文件 <参数>
- 停止参数扫描
@[+] 禁用 [启用] 文件列表
ac 压缩或解压后清除存档属性
ad 添加压缩文件名到目标路径
ag[格式] 使用当前日期生成压缩文件名
ai 忽略文件属性
ao 添加具有压缩属性的文件
ap<格式> 添加路径到压缩文件中
as 同步压缩文件内容
c- 禁用注释显示
cfg- 禁用读取配置
cl 转换名称到小写
cu 转换名称到大写
df 压缩文件后删除原来的文件
dh 打开已共享文件
dr 删除文件到回收站
ds 对固实压缩文件禁用名称排序
dw 压缩文件后清除文件
e[+]<attr> 设置文件排除和包含属性
ed 不要添加空目录
en 不要放置 '压缩文件结束' 区块
ep 从名称里排除路径
ep1 从名称里排除基目录
ep2 扩展路径到完整路径
ep3 扩展路径为完整路径包括驱动器盘符
f 更新文件
hp[password] 加密文件数据和文件头
ht[b|c] 为文件校验和选择哈希类型 [BLAKE2,CRC32]
id[c,d,p,q] 禁用信息
ieml[addr] 通过电邮发送压缩文件
ierr 发送所有消息到 stderr
ilog[name] 记录错误到文件(仅注册版本)
inul 禁用所有消息
ioff 完成操作后关闭电脑
isnd 启用声音
k 锁定压缩文件
kb 保留损坏的已解压缩文件
log[f][=name] 将名称写入日志文件
m<..> 设置压缩级别(-存储...-默认...-最大)
ma[|] 指定压缩格式的一个版本
mc<par> 设置高级压缩参数
md<n>[k,m,g] 字典大小显示为 KB, MB 或 GB
ms[ext;ext] 指定要存储的文件类型
mt<threads> 设置线程数
n<file> 额外的包含过滤器的文件
n@ 从 stdin 读取额外的过滤器掩码
n@<list> 从列表文件读取额外的过滤器掩码
o[+|-] 设置覆盖模式
oc 设置 NTFS 压缩属性
oh 将硬链接保存为链接而非文件
oi[-][:min] 将完全相同的文件保存为引用
ol[a] 将符号链接作为链接处理 [绝对路径]
or 自动重命名文件
os 保存 NTFS 流
ow 保存或恢复文件所有者和组
p[password] 设置密码
p- 不查询密码
qo[-|+] 添加快速打开信息 [无|强制]
r 递归子目录
r- 禁用递归
r0 仅为通配符名称递归子目录
ri<P>[:<S>] 设置优先级 (-默认,-最小..-最大) 和睡眠时间为 ms
rr[N] 添加数据恢复记录
rv[N] 创建恢复分卷
s[<N>,v[-],e] 创建固实压缩文件
s- 禁用固实压缩文件
sc<chr>[obj] 指定字符集
sfx[name] 创建自解压文档
si[name] 从标准输入 (stdin) 读取数据
sl<size> 处理小于指定大小的文件
sm<size> 处理大于指定大小的文件
t 压缩文件后测试文件
ta<date> 处理在 <日期> 之后修改过的文件,以 YYYYMMDDHHMMSS 格式
tb<date> 处理在 <日期> 之前修改过的文件,以 YYYYMMDDHHMMSS 格式
tk 保存原来的压缩文件时间
tl 设置压缩文件时间为最新的文件
tn<time> 处理比 <时间> 较新的文件
to<time> 处理比 <时间> 较旧的文件
ts<m,c,a>[N] 保存或恢复文件时间(修改,创建,访问)
u 更新文件
v<size>[k,b] 创建分卷大小为=<size>* [*, *]
vd 创建分卷之前清除磁盘内容
ver[n] 文件版本控制
vn 使用旧式的分卷命名方案
vp 创建每个分卷之前暂停
w<path> 指定工作目录
x<file> 排除指定的文件
x@ 读取文件名以从 stdin 排除
x@<list> 排除指定列表文件里列出的文件
y 对所有询问假定选择“是”
z[file] 从文件读取压缩文件注释

 ..\WinRAR\unRar.exe:

UNRAR 5.30 beta  免费软件      版权所有 (C) - Alexander Roshal
用法:unrar <命令> -<参数 > -<参数 N> <压缩文件> <文件...>
<@列表文件...> <解压路径\> <命令>
e 提取文件无需压缩文件的路径
l[t[a],b] 列出压缩文件内容 [technical[all], bare]
p 打印文件到 stdout
t 测试压缩文件
v[t[a],b] 详细列出压缩文件内容 [technical[all],bare]
x 使用完整路径提取文件 <参数>
- 停止参数扫描
@[+] 禁用 [启用] 文件列表
ac 压缩或解压后清除存档属性
ad 添加压缩文件名到目标路径
ag[格式] 使用当前日期生成压缩文件名
ai 忽略文件属性
ap<格式> 添加路径到压缩文件中
c- 禁用注释显示
cfg- 禁用读取配置
cl 转换名称到小写
cu 转换名称到大写
dh 打开已共享文件
ep 从名称里排除路径
ep3 扩展路径为完整路径包括驱动器盘符
f 更新文件
id[c,d,p,q] 禁用信息
ierr 发送所有消息到 stderr
inul 禁用所有消息
ioff 完成操作后关闭电脑
kb 保留损坏的已解压缩文件
n<file> 额外的包含过滤器的文件
n@ 从 stdin 读取额外的过滤器掩码
n@<list> 从列表文件读取额外的过滤器掩码
o[+|-] 设置覆盖模式
oc 设置 NTFS 压缩属性
ol[a] 将符号链接作为链接处理 [绝对路径]
or 自动重命名文件
ow 保存或恢复文件所有者和组
p[password] 设置密码
p- 不查询密码
r 递归子目录
ri<P>[:<S>] 设置优先级 (-默认,-最小..-最大) 和睡眠时间为 ms
sc<chr>[obj] 指定字符集
sl<size> 处理小于指定大小的文件
sm<size> 处理大于指定大小的文件
ta<date> 处理在 <日期> 之后修改过的文件,以 YYYYMMDDHHMMSS 格式
tb<date> 处理在 <日期> 之前修改过的文件,以 YYYYMMDDHHMMSS 格式
tn<time> 处理比 <时间> 较新的文件
to<time> 处理比 <时间> 较旧的文件
ts<m,c,a>[N] 保存或恢复文件时间(修改,创建,访问)
u 更新文件
v 列出所有分卷
ver[n] 文件版本控制
vp 创建每个分卷之前暂停
x<file> 排除指定的文件
x@ 读取文件名以从 stdin 排除
x@<list> 排除指定列表文件里列出的文件
y 对所有询问假定选择“是”

WinRAR的命令行模式用法介绍的更多相关文章

  1. 好压(HaoZip)的命令行模式用法介绍

    好压压缩软件,又叫“2345好压”,是一款国产的优秀压缩软件,目前是免费的,据官网介绍,该软件永久免费.官网地址:http://haozip.2345.com/ 本文主要对该软件的命令行模式用法进行介 ...

  2. PHP命令行模式基本介绍

      首先要保证php在cli模式下可用,php –v会返回PHP的版本号. [gaojian3@log001 ~]$ php -v PHP (cli) (built: Aug ::) Copyrigh ...

  3. PHP 命令行模式实战之cli+mysql 模拟队列批量发送邮件(在Linux环境下PHP 异步执行脚本发送事件通知消息实际案例)

    源码地址:https://github.com/Tinywan/PHP_Experience 测试环境配置: 环境:Windows 7系统 .PHP7.0.Apache服务器 PHP框架:ThinkP ...

  4. 命令行模式下 MYSQL导入导出.sql文件的方法

    一.MYSQL的命令行模式的设置:桌面->我的电脑->属性->环境变量->新建->PATH=“:path\mysql\bin;”其中path为MYSQL的安装路径.二.简 ...

  5. wpa_supplicant 移植及 linux 命令行模式配置无线上网

    本文涉及内容为linux 命令行模式配置无线上网 及 wpa_supplicant 移植到开发板的过程,仅供参考. 1.源码下载 wpa_supplicant 源码下载地址 :http://hosta ...

  6. Linux在终端命令行模式下智能补全功能以及组合键

    linux命令行下也有很多热键(快捷键).先来看看tab键 1.如果想看看linux下以c开头的命令可直接在命令行下敲入c然后连续敲两次tab,再选择y,会显示所有以c开头的命令. 2.涉及到文件时, ...

  7. 《Practical Vim》第五章:命令行模式

    前言 出于历史原因,命令行模式又叫 Ex 模式,它具有的功能有: 读写文件:比如 :edit, :write 等等 创建标签页或者窗口:比如 :tabnew :split 操作缓存区,比如: bnex ...

  8. Linux(CentOS 7)命令行模式安装VMware Tools 详解

    本篇文章主要介绍了如何在Linux(CentOS 7)命令行模式安装VMware Tools,具有一定的参考价值,感兴趣的小伙伴们可以参考一下. 本例中为在Linux(以CentOS 7为例)安装VM ...

  9. jmeter命令行模式运行,实时获取压测结果

    jmeter命令行模式运行,实时获取压测结果 jmeter很小,很快,使用方便,可以在界面运行,可以命令行运行.简单介绍下命令行运行的方式: sh jmeter.sh -n -t my-script. ...

随机推荐

  1. 一个简单的inno setup模板

    一.模板代码 基本功能包括多路径安装.多语言.自定义图标. [Setup] ShowLanguageDialog=yes AppCopyright=Copyright Reserved(C) , 36 ...

  2. XML文档操作集锦(C#篇)

    在JSON没流行起来的时候xml一直作为程序存储配置信息的主流介质:特别是小型数据表方面还是不错的选择,所以经常涉及到的操作无非也就是增删改查,这篇博客主要是对这些对比较常用的操作做了个简单的总结 文 ...

  3. iPhone开发与cocos2d 经验谈

    转CSDN jilongliang : 首先,对于一个完全没有mac开发经验,甚至从没摸过苹果系统的开发人员来说,首先就是要熟悉apple的那一套开发框架(含开发环境IDE.开发框架uikit,还有开 ...

  4. 谁在关心toString的性能?

    谁在关心toString的性能?没有人!除非当你有大量的数据在批量处理,使用toString产生了许多日志.然后,你去调查为何如此之慢,才意识到大部分的toString方法使用的是introspect ...

  5. UDS(ISO14229-2006) 汉译(No.0 前言)

    UDS protocol 前言 ISO(国际标准化组织)是国际标准机构(ISO成员体)的世界性联合会.国际标准的拟定工作通常由ISO技术委员会负责.为每一个主题而建立的技术委员会由对其感兴趣的成员机构 ...

  6. ABP中使用OAuth2(Resource Owner Password Credentials Grant模式)

    ABP目前的认证方式有两种,一种是基于Cookie的登录认证,一种是基于token的登录认证.使用Cookie的认证方式一般在PC端用得比较多,使用token的认证方式一般在移动端用得比较多.ABP自 ...

  7. 使用java操作MongoDB

    1.环境准备 下载mongoDB对Java支持的驱动包 驱动包下载地址:https://github.com/mongodb/mongo-java-driver/downloads 2.查询集合中所有 ...

  8. 把普通对象转换成json格式的对象

    1.什么叫做JSON?JSON只是一种数据格式(它不是一种新的数据类型) var obj = {name: "中国", age: 5000};//->普通格式的对象 var ...

  9. 使用AIDL调用远程服务设置系统时间

    在实际工作中,经常遇到客户需要用代码设置系统时间的需求,但是Android非系统应用是无法设置系统时间的.于是,我设计了一个使用系统签名的时间设置服务,客户通过bind调用服务里的方法就能达到设置时间 ...

  10. Android RecyclerView.Adapter notifyDataSetChanged 不起作用

    我在自己动手写RecyclerView的上拉加载更多,最后就差一步,这个时候数据已经加载完了,UI上面没有显示,我而且也调用了notifyDataSetChanged刷新item的数据,但是一直没效果 ...