一键Copy——7z篇

时间:2010-07-29 09:21   作者:ChenReal    阅读:356

很多人工作的地点不止一个,因此电脑往往不止一台,然而同一个project,经常是在这台电脑上完成一部分,另外一台完成一部分。这样,资料的同步就成了一个很值得重视的问题!

有人说弄个svn就能解决了,这个观点绝对正确!但是svn也有它的局限性,最大的局限便是受限于网络,若然没有网络svn,只能望什么兴叹了。即便有网络,试问如果是要同步1-2G的大文件,其效率何其低下。归根结蒂还是网络的局限。

下面分享一下我的经验吧。

我自己公司的电脑,跟家里的电脑每天都必须同步一次资料。上面说过了,利用网络存储的方法不适合。我一般就利用物理存储介质——U盘了,相信很多人都跟我一样。但是天天都同步同样的一批资料,相信大家都会觉得很麻烦,而且容易遗漏一些东西。

利用批处理文件(.bat)+压缩工具,实现一键Copy,这样便可省去很多麻烦了。上班的时候接上U盘,运行程序,泡一壶茶的时间,就可以把U盘当中的文件同步电脑上;下班的时候也就是上个洗手间的时间,程序就会自动把目的文件全部打包拷贝到U盘里。

上面说了这么多,下面说说具体如何实现吧。

首先,系统必须安装一个压缩工具,如winrar,7z等,相信绝大多数的人都会有的。

下一步,新建一个批处理文件,实际上也是一个文本,只不过后缀改成.bat而已

接下来,写入命令

@echo off
net stop mssqlserver
set filename=%DATE:~0,4%%DATE:~5,2%%DATE:~8,2%
"C:\Program Files\7-Zip\"7z a -tzip %~dp0"BK"%filename%".zip" @%~dp0"filelist.txt"
net start mssqlserver
move %~dp0"BK"%filename%".zip" "H:\"

说明一下:

我需要整个SQL数据库进行同步,所以必须先停止SQL的服务,如果不需要的话,可以删掉相关的命令;

我的U盘盘符是H:,可根据实际情况改;

需要在批处理文件的同级目录下增加一个文件列表filelist.txt,把需要打包的文件弄进去,譬如我的列表如下

E:\wwwroot\website\

D:\Database\DB.mdf

D:\Database\DB_log.ldf

对,就这么简单,就可以实现一键copy了。

 

评论
0/200