青岛颐中体育场:巧用WinRAR命令行:一键备份文件

来源:百度文库 编辑:九乡新闻网 时间:2024/04/27 23:51:54

我们经常手动备份一些个人设置,无非就是压缩后转移。起码要三步:1.找文件夹;2.压缩;3.转移。而利用WinRAR命令行和一个批处理,就能省去这些工作,直接一键备份。而且“同步压缩文件”,即确保压缩包的文件跟要备份的文件一致,不多、不少、不差。同时,也能一键还原。

下面以备份firefox的个人配置为例:

1.新建一个批处理文件backup.bat(可随意命名),在其中输入以下内容:
@echo off
"F:\soft\日常辅助\WinRAR\WinRAR.exe" a -as -r -sfx -zMozilla.txt -ep1"H:\DOC\桌面\Mozilla\Mozilla.exe" "C:\Documents andSettings\Administrator\Application Data\Mozilla"

首先说明一下WinRAR命令和开关的概念
命令:要 WinRAR 运行的字符组合代表功能(即不带"-"的,如"a")
开关:切换操作指定类型,压缩强度,压缩文件类型,等等的定义(即带"-"的,如"-as")

下面逐个讲解这个命令行的作用:
"F:\soft\日常辅助\WinRAR\WinRAR.exe":即你的WinRAR安装路径,如果路径中有空格,记得用引号,当然无空格用引号也不会错(下同)。

a:添加指定的文件和文件夹到压缩文件中。在这个例子中,即将C:\Documents and Settings\Administrator\Application Data\Mozilla压缩到H:\DOC\桌面\Mozilla\Mozilla.exe。

-as:同步压缩文件内容。举个例子,在已经存在一个压缩文件backup.exe的情况下:
 1)若欲备份文件中含有文件a,而backup.exe没有,则添加文件a到backup.exe;
 2)若欲备份文件中不含有文件a,而backup.exe有,则从backup.exe删除文件a;
 3)若都含有文件a,但欲备份文件中的a与backup.exe中的有区别,则使backup.exe中的文件a跟欲备份文件中的相同。
最终使备份文件跟欲备份文件无差异。

-r:包含子文件夹。

-sfx:生成自解压文件。

-zMozilla.txt:从文件Mozilla.txt读取注释,添加到压缩文件中。注释的内容和作用在下面第二点。(注意:-z是开关,Mozilla.txt是文件名)。

-ep1:从文件名中删除底层目录,不存储在命令行中输入的路径。在这里即表示不把C:\Documents andSettings\Administrator\ApplicationData添加到压缩文件中。如果没有这个开关,在解压时将会在要解压的目录下再生成\Documents andSettings\Administrator\Application Data这几层目录,而不能将指定文件解压到指定的文件夹。

2.在backup.bat所在文件夹里新建一个文本Mozilla.txt(即第一点中的-z开关后的文件名),在其中输入:
PATH="C:\Documents and Settings\Administrator\Application Data"
Silent=1

作用:指定解压的目录及解压方式。
1."PATH="后面是指定解压目录;
2."Silent=1"表示开始解压时不显示开始对话框。
 1)如果参数是1,开始解压对话框会完全隐藏;
 2)如果无参数(即Silent=)或是2,则跳过开始解压的确认,但用户仍然可以看到压缩文件的解压进程;
 3)如果没有"Silent=1"这一行,则显示解压窗口,提示解压路径,但默认路径是"PATH="指定的路径。

3.备份与还原
备份:运行backup.bat。
还原:运行Mozilla.exe即可自动解压还原。

4.补充:
1)可以从WinRAR安装目录中提取WinRAR.exe、rarreg.key、Default.SFX这三个文件放到backup.bat和Mozilla.txt所在的文件夹,修改backup.bat中的WinRAR的路径为相对路径"WinRAR.exe",例如:
WinRAR.exea -as -r -sfx -zMozilla.txt -ep1 "H:\DOC\桌面\Mozilla\Mozilla.exe""C:\Documents and Settings\Administrator\Application Data\Mozilla"
2)更多的命令请参考WinRAR安装目录中的WinRAR.chm帮助文档。关于WinRAR命令行,请猛击此处

参考资料:

http://www.zjfy.net/bbs/thread-68563-1-1.html