========= 下面是 我写大论文时候的实例(批量压缩、备份文件)==================安全
* 一共三个文件:(1) MyCopy.bat ; (2) UnCopy.txt ; (3) Tar.bat 测试
(1) MyCopy.bat # 将目标文件夹,选择性地拷贝到指定路径加密
1 rem step 1: 先直接删除文件夹(连同里面的文件),在新建一空的文件夹 2 rd .\CUMTThesis-Latex /S/Q 3 md .\CUMTThesis-Latex 4 5 rd .\Fig /S/Q 6 md .\Fig 7 8 rem step 2: copy 文件到 here 能够选择直接覆盖 , UnCopy.txt 指定xcopy 命令不拷贝的文件类型 (后缀) 9 xcopy ..\CUMTThesis-Latex .\CUMTThesis-Latex /S/Y/EXCLUDE:UnCopy.txt 10 11 xcopy ..\Fig .\Fig /S/Y
(2) UnCopy.txt #指定 xcopy命令在copy 文件夹时,哪些类型(后缀)的文件不copyspa
.aux
.bak .log .bbl .dvi .blg .thm .toc .out .snm .nav .vrb .bm .synctex.gz .ps .ilg .ind .toe .synctex(busy) .synctex .sav .bat .exe
(2) Tar.bat # 将指定文件夹,用winRar 压缩,(带上时间戳命名压缩文件),并移动到指定的路径命令行
1 rem step 1: copy file 2 3 call MyCopy.bat 4 5 rem 压缩文件 6 "C:\Program Files (x86)\WinRAR\WinRAR.exe" A -AG@[YYYY-MM-DD=HHMMSS] CUMTThesis .\CUMTThesis-Latex 7 8 "C:\Program Files (x86)\WinRAR\WinRAR.exe" A -AG@[YYYY-MM-DD=HHMMSS] Fig .\Fig 9 10 rem step 3: copy 文件到U盘的I:\CUMTThesisBAK下 和 E:\CUMTThesisBAK 11 copy .\CUMTThesis@[*].rar E:\CUMTThesisBAK 12 copy .\CUMTThesis@[*].rar K:\CUMTThesisBAK 13 14 del .\CUMTThesis@[*].rar 15 16 copy .\Fig@[*].rar E:\CUMTThesisBAK 17 copy .\Fig@[*].rar K:\CUMTThesisBAK 18 19 del .\Fig@[*].rar 20 21 rem step 4: 先直接删除文件夹(连同里面文件),再新建一空的文件再新建一空的文件夹 22 rd .\CUMTThesis-Latex /S/Q 23 md .\CUMTThesis-Latex 24 25 rd .\Fig /S/Q 26 md .\Fig
========== 下 面 是 具 体 的 语 法 ==================线程
winrar.exe 命令行参数版本控制 |
[语法] 一.简单的例子和说明:code 压缩文件夹 filename1:要压缩的文件名,能够多个,也可用通配符file*
二.详细说明: [命令] A 增长文件到压缩包,若是省略参数A也为添加文件,但不一样的是添加当前路径文件到指定路径;另外若是-AD指定的目录带有\则不会添加子目录的文件: RAR A .\BACKUP\MYRAR -AD %WINDIR%\IME 添加IME目录的全部文件(包含子目录)到当前目录的\BACKU\目录的MYRAR.RAR中,其中开关-AD能够不用. RAR A .\BACKUP\MYRAR -AD %WINDIR%\IME\ 状况同上,只是添加时不包含子目录中的文件 RAR MYRAR %WINDIR%\SYSTEM 添加当前目录的全部文件(不包含子目录)到%WINDIR%\SYSTEM\MYRAR.RAR中,同时删除当前目录的文件 RAR A MYRAR @BACK.LST 根据BACK.LST列出的文件列表来压缩文件(这个功能有时颇有用,用来备份指定文件) RAR A -DF MYRAR C:\TEMP 添加TEMP目录的全部文件(包含子目录)到MYRAR.RAR中后删除文件 RAR A -ED MYARR C:\TEMP E:\01 F:\ 同上,只是添加多个目录到压缩包中并排除空目录, D 从压缩文件包中删除指定文件 RAR D MYRAR BOOT.INI 从压缩包MYRAR中删除BOOT.INI文件 RAR D MYRAR 删除压缩包MYRAR中的全部文件,其实是删除压缩包WINRAR I 在压缩包中搜索指定的字符串,支持可选参数i不区分大小写(默认);c区分大小写;h十六进制搜索;t使用ANSII UNICODE和OEM字符表(只使用WIN32) RAR II=boot.ini -R myrar.rar 在当前目录的myrar.rar包含其子目录中不区分大小写查找字符串boot.ini(实际是该文件) RAR II=boot.ini -r myrar.rar *.ini 在当前目录的MYRAR.RAR包中全部的子目录中的INI文件中查找BOOT.INI字符串(实际在包中的INI文件中找字符串,MYRAR.RAR可改为*.RAR表示全部包中查找) RAR IC="First Level" -r c:\*.rar *.txt 在C:\*.RAR包中的*.txt中查找区分大小写的字符串"First Level"(注意有空格时使用引号) RAR IH=f0e0aeaeab2d83e3a9 -R e:\text 在E:\TEXT目录下的全部压缩包中搜索十六进制字符串f0 e0 ae ae ab 2d 83 e3 a9 K 锁定压缩包以防止任何企图改变压缩文件的命令 RAR K MYRAR.RAR L 列出压缩包中的全部文件及其余信息如压缩率等,若是只输出文件名则使用B变量,若是要更多信息则使用T变量,若是要想获取压缩包中的文件并带路径则使用V命令 RAR LB MYRAR.RAR>c:\file.lst 把压缩包中的文件名输出FILE.LST文件中 RAR VB MYRAR.RAR>C:\FILE.LST 把压缩包中的带路径的文件名输出到FILE.LST中 M 把文件移动到压缩包中并同时删除文件(实际上和RAR A -DF等同),若是指定-ED开关则不删除目录,注意这个命令与A命令的区别 RAT M MYRAR.RAR C:\TEMP 把C:\TEMP下包含子目录的全部文件移动到压缩包中并删除TEMP目录及其中的全部文件 RAR M -ED MYRAR.RAR C:\TEMP 把C:\TEMP下包含子目录的全部文件移动到压缩包中并删除TEMP目录中的全部文件但保留为空目录 R 修复压缩文件,注意的是若是没有修复记录(可使用RR命令添加修复记录,最大可添加524288个恢复块),那么RAR对固定压缩文件的修复可能性极小,因此建议不要使用这种方式压缩;若是要修复卷则使用RC命令 RAR R -Y T.RAR 安静模式修复T.RAR压缩包 RAR RR3% MYRAR.RAR 把压缩文件%3的大小的恢复记录添加到压缩包中,若是是批处理须要把%3改成%%3或3p,另外能够不跟变量而有RAR本身决定,如 RAR RR MYRAR.RAR(可使用RV命令添加卷修复记录,最大可添加524288个恢复块) RAR RC MYRAR.PART003.RAR 修复卷PART003,须要事先使用RV添加卷修复记录 RAR RV3 MYRAR.PART003.RAR 添加卷修复记录,只对卷有效,能够不用变量N让RAR本身决定;这个命令有时颇有效,如给朋友传文件时只用到卷内部分资料则可以使用此命令而减小传其余卷的没必要要 RN 重命名压缩包中的文件名,须要注意的是若是RN命令会忽略以存在的文件,所以使用时要特别当心,RN命令好象对于子目录中的文件会忽略(即便加-R 开关同样) RAR RN MYRAR.RAR readme.txt readme.bak *.dll *.dl_ S 转化压缩包为自解压格式,注意的是RAR同目录里必须有default.sfx模块,若是要从自解压格式中删除自解压default.sfx模块,则使用S-命令 RAR S MYRAR.RAR X 从压缩包中带绝对路径解压指定文件到当前路径(不带路径则使用E命令,该命令会解压包含子目录的全部文件到当前根目录,通常不会用到),可使用-Y开关覆盖已存在文件,使用-av-疲敝身份效检注释,-c-屏蔽显示注释,-ad指定要释放的路径 RAR X -Y MYRAR.RAR 无提示带路径解压MYRAR.RAR到当前目录 RAR X -Y MYRAR.RAR -AD C:\01\ 无提示带路径释放MYIRAR.RAR中包含目录中的全部文件到指定路径C:\01中 RAR X -Y -C- MYRAR.RAR *.EXE 无提示带路径提取MYRAR.RAR包含子目录中的全部文件到当前目录 RAR X -Y -C- MYRAR.RAR *.EXE -AD C:\01\ 无提示带路径释放MYRAR.RAR包含子目录中的全部文件到指定路C:\01目录中 RAR E -Y -C- MYRAR.RAR *.EXE -AD C:\01\ 无提示释放MYRAR.RAR包含子目录中的全部文件到指定路C:\01根目录中 [-开关] 这里列举几个重要的开关: 一.实现自动备份和还原 -AD,-AP,-EP3:中-AD表示压缩指定路径的文件到压缩包中或释放压缩包中的文件到指定路径中;-AP用于设置压缩文件的内部路径;-EP3表示包括盘符在内的完整路径. ECHO 下面的例子备份SYSTEM目录中的文件并还原: IF NOT EXIST F:\SYSBAK MD F:\SYSBAK ECHO 备份指定文件夹下包含子目录的全部文件并带盘符的完整路径 RAR A F:\SYSBAK\BAK.RAR -AD -EP3 %windir%\SYSTEM RAR X -Y -EP3 F:\SYSBAK\BAK.RAR ECHO 下面的例子把当前目录中全部的压缩包文件解压到D盘DATA下 rar x -ad *.rar d:\data\ ECHO 下面的例子添加文件'readme.txt'到目录压缩文件myrar.rar的'DOCS\ENG'目录中 RAR A -AP DOCS\ENG MYRAR.RAR readme.txt -sfx[WinCon.SFX|Default.SFX]:建立自解压文件,若是要建立DOS下的自解压请使用WinCon.SFX模块名,缺省为WIN32,另外注意的是两者之间绝对没有空格 ECHO 下面备份IME目录的文件为DOS下可执行的自解压包并还原 RAR A -DF -EP3 -SFXWINCON.SFX MYRAR %WINDIR%\IME RAR X -Y -EP3 MYRAR.EXE 二.按照日期来备份 -AG[格式]:使用当前的日期和时间产生压缩文件名,格式能够为YYYYMMDDHHMMSS,另外可使用一种特殊格式N来表明备份时产生自动数字序号,这个格式也可和日期格式组合;另外若是格式的第一个字符为+则会交换基本文件名和日期格式的位置;若是要保留格式字符可使用{}括起来 RAR A -AGYYYYMM-NN MYBAK C:\BOOT 将产生诸如MYBAK200701-01,MYBAK200701-02的备份 RAR A -AG+YYYYMMN MYBAK C:\BOOT 将产生诸如20070101MYBAK,20070102MYBAK的备份 RAR A -AGyy{year}mm{month}nn MYBAK C:\BOOT 将产生诸如mybak07year01month01,mybak07year01month02的备份 RAR A -AGYYYWWA MYBAK C:\BOOT 将产生2007043的备份(2007年第4周星期三) 三.加密备份和恢复解密 -p[p]:压缩时加密或解压时解密,密码区分大小写,若是要使压缩包中的某些文件不加密而有些加密,则能够分步操做即先添加不须要密码的到压缩包,再使用-P开关添加须要密码的文件,或反向操做,如RAR A -P123 MYBAK C:\BOOT;RAR A MYBAK README.TXT -HP[P]:带文件头加密,这种加密方式更安全,用户没有密码没法查看里面的文件列表等信息. -av:添加身份效检(建立者信息,最后更新时间和压缩文件名等)到压缩包中,只有注册版才有此功能,身份效检主要用于软件发布,若是要禁止身份效检或添加身份效检可使用-av-开关 四.压缩模式和线程 -m<n>:设置压缩模式,从底到高压缩率越高:-m0不压缩方式储存;-m1最快;-m2较快;-m3标准(默认);-m4较好;-m5最好 -ms[文件列表]:指定不压缩而直接储存压缩,如一些已经压缩的文件若是在压缩也不能减小多少体积反而占用了大量时间,一块儿添加到压缩包中时可使用这个开关(若是没有指定文件列表则忽略大多少压缩格式文件)避免再次压缩,如rar a -ms*.rar;*.zip -s建立固实压缩以进一步提升压缩率,如RAR A -S MYRAR C:\BOOT -R;若是要禁止固实压缩则使用-S-开关;若是为了减小这种压缩方式的损坏率能够不要使用这个开关或能够改用-SN开关或-SE开关(若是是分卷压缩则使用-SV开关); -v建立或查看分卷压缩,不使用其余变量则会根据目标媒体自动分卷,若是要查看分卷则最好和V或L命令一块儿使用以便查看从指定开始卷的全部内容,不然只显示指定卷内容;若是要指定分卷的大小可使用-V<大小>[k|b|f|m|g|G]变量,其中f变量是预约义大小,如RAR A -S -V1440 FLOPRAR C:\BOOT,该开关能够屡次使用以便为不一样的卷设置不一样大小,如RAR A -V100k -V200k -V300k MYRAR,分卷压缩能够和-sfx开关一块儿使用建立自解压分卷格式,另外该命令不能够和命令'd','f','u','s'一块儿使用,还有就是a命令不能用来更新分卷压缩文件而只能建立新的压缩文件. -mt<线程>:能够提升压缩速度,变量在0-16之间,若是未指定则RAR自动根据CPU数量设置,仅使用于WIN版 五.屏蔽显示有关操做开关汇总 -y :-Y对于全部询问多回答是 -inul:禁止全部消息 -o-:不覆盖已经存在的文件 -o+:覆盖已经存在的文件 -or:存在同名文件时自动添加数字标识命名文件] -id[c,d,p,q]:禁止版权消息,禁止完成消息,禁止完成百分比显示消息,安静模式除非有错误时才提示(几个开关能够合并使用,但-IDQ能够代替其余几个参数),如RAR A -IDCD MYRAR C:\TEMP仅显示完成百分比 -c-:禁止显示注释 -cfg-:忽略配置文件和RAR环境变量 -cl:转换文件名为大写字母 -cu:转换文件名为小写字母 六.有关目录开关和排除开关汇总 -ED,-EP,-EP1,-EP3:-ED排除空目录;-EP排除全部目录名但不排除里面的文件(排除后若是路径中有同名文件将会在压缩包中看到不少同名文件)如把C:\TEMP下包含子目录的文件所有压缩到MYRAR.RAR根目录RAR A -EP MYRAR.RAR C:\TEMP;-EP1完全排除全部的路径名称(本人用这个命令好象没有任何效果);-EP3包含磁盘的完整路径,这个开关在压缩包里磁盘显示为_如C_,使用命令是可还原为C:的样式,经常使用来备份和恢复系统 -R,-R0:都是包含子文件夹,能够和不少命令如A,U,F,M,X,E,T,P,V,L,C,CF,S等一块儿使用(前四个命令将处理工做目录和全部子目录的文件,其余命令则处理工做目录及目录的压缩文件),可是有所不一样的是前者和A,U,F,M命令一块儿使用时不能和通配符*和?搭配,然后者能够.另外注意RAR命令还以目录是否带有\来区分是否包含目录的文件,若是有\则不包含子目录. -n<文件>,-x<文件>:前者仅包含指定的文件(若是使用文件列表则使用-n@<文件列表>命令),后者则要排除的指定文件(若是使用文件列表则使用-x@<文件列表>命令),均可以使用通配符,均可以屡次使用该开关.如:rar a -r -n*.txt -n*.lst myrar c:\Project c:\Info实际是未简化的rar a -r myrar c:\Project\*.txt c:\Project\*.lst c:Info\*.txt c:\Info\*.lst命令;rar a -r -x*\temp -x*\temp\* savec c:\* 该命令将压缩C盘上除了TEMP文件夹目录及其里面全部文件,注意的是由于-x开关不能递归子目录,因此只有使用两次才能生效;rar x -x*.txt docs该命令从DOCS.RAR解压时把*.txt排除; -e[+]<属性>:该命令排除(默认)或包含(使用+标记)指定掩码属性文件,属性可以使用WIN版本的DSHA分别表明目录和文件的系统,隐藏和只读属性,如不压缩系统盘根目录的系统或隐藏属性的文件:rar a -esh myrar c:\;压缩系统盘全部的目录(不包含文件):rar a -r -e+d mydirs c:\ 七.其余有用参数: -ioff:在完成操做后关闭计算机,须要硬件必须支持断电功能且只有在Win32 版本可用. -ieml[.][地址1;地址2;...]:若是发了email后要删除压缩包能够添加.到EMAIL地址,如rar a -ieml.xbd@sina.com mybak c:\boot,这个很容易被病毒利用. 全部开关及及其简易说明: ac 压缩或解压后清除存档属性 ad 添加压缩文件名到目标路径 ag[格式] 使用当前日期生成压缩文件名 ao 添加具备压缩属性的文件 ap<格式> 添加路径到压缩文件中 as 同步压缩文件内容 av 添加用户身份校验(仅注册版本可用) av- 禁用用户身份校验 c- 禁用注释显示 cfg- 禁用读取配置 cl 名称转换为小写 cu 名称转换为大写 df 压缩后删除文件 dh 打开共享文件 ds 对固实压缩文件禁用名称排序 e[+]<属性> 设置文件排除和包括属性 ed 不添加空目录 en 不添加"压缩文件结束"标志 ep 从名称中排除路径 ep1 从名称中排除基本目录 ep2 展开为完整路径 ep3 扩展路径为包含盘符的彻底路径 f 刷新文件 hp[密码] 同时加密文件数据和文件头 id[c,d,p,q] 禁用消息 ieml[地址] 用 E-mail 发送压缩文件 ierr 发送全部消息到标准错误设备 ilog[名称] 把错误写到日志文件(只有注册版本可用) inul 禁用全部消息 ioff 完成一个操做后关闭 PC 电源 isnd 启用声音 k 锁定压缩文件 kb 保留损坏的已解压文件 m<0..5> 设置压缩级别(0-存储...3-默认...5-最大) mc<参数> 设置高级压缩参数 md<大小> 以KB为单位的字典大小(64,128,256,512,1024,2048,4096 or A-G) ms[ext;ext] 指定存储的文件类型 mt<线程> 设置线程数 n<文件> 仅包含指定的文件 n@ 从标准输入设备读取文件名到包括 n@<列表> 在指定的文件列表包括文件 o+ 覆盖已存在文件 o- 不覆盖已存在文件 oc 设置 NTFS 压缩属性 or 自动重命名文件 os 保存 NTFS 流 ow 保存或恢复文件全部者和组 p[密码] 设置密码 p- 不询问密码 r 递归子目录 r0 仅递归通配符名称的子目录 ri<P>[:<S>] 设置优先级(0-默认,1-最小..15-最大)和以毫秒为单位的休眠时间 rr[N] 添加数据恢复记录 rv[N] 建立恢复卷 s[<N>,v[-],e] 建立固实压缩文件 s- 禁用固实压缩文件 sc<chr><obj> 指定字符集 sfx[名称] 建立自解压压缩文件 st[名称] 从标准输入设备读取数据(stdin) sl<大小> 处理小于指定大小的文件 sm<大小> 处理超过指定大小的文件 t 压缩后测试文件 ta<日期> 添加日期 <日期> 后修改的文件,日期格式 YYYYMMDDHHMMSS tb<日期> 添加日期 <日期> 前修改的文件,日期格式 YYYYMMDDHHMMSS tk 保留原始压缩文件时间 tl 设置压缩文件时间为最新文件时间 tn<时间> 添加 <时间> 之后的文件 to<时间> 添加 <时间> 之前的文件 ts<m,c,a>[N] 保存或恢复文件时间(修改,建立,访问) u 更新文件 v 自动检测建立卷的大小或者列出全部的卷 v<大小>[k,b] 建立卷大小=<大小>*1000 [*1024, *1] vd 建立容量前清除磁盘内容 ver[n] 文件版本控制 vn 使用旧风格的卷命名方案 vp 每卷以前暂停 w<路径> 指定工做目录 x<文件> 排除指定的文件 x@ 从标准输入设备读取要排除的文件名 x@<列表> 排除指定列表文件中的文件 y 假设对所有询问都回答是 z[文件] 从文件读取压缩文件注释 |