[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖

[文件操作] 如何用批处理做增量备份

本帖最后由 petertch 于 2011-11-25 15:47 编辑

RT,
想用批处理做一个增量备份,
有一个备份文件夹啊c:\backup
每天将要备份的文件放进去,
然后晚上通过windows的任务计划执行批处理,
来备份到E:\backup 文件夹里,
每天只备份增量的部分,就是当天放进去的。
增量怎么锁定啊 , 很头疼啊~!

先谢谢高手们~!~

刚刚没有解释清楚 , 这里我举个例子吧。
例:
[第一天]
我放了如下几个文件进入 c:\backup
AAA        (这个是文件夹,假定文件夹下还有文件,这里不写出来了)
AAA.TXT  (修改日期是很早以前,假定是一年前的)
AAA2.TXT
晚上通过WINDOWS自带的任务计划调用BAT,
则应该自动把上面的
AAA      (文件夹包括其下的子文件夹,文件)
AAA.TXT
AAA2.TXT
都复制到了E:\backup

[第二天]
我又放了如下几个文件进入 c:\backup
BBB          (这个是文件夹,假定文件夹下还有文件,这里不写出来了)
BBB.TXT    (修改日期是很早以前,假定是一年前的)
BBB2.TXT

则现在c:\backup下有如下内容了:
AAA      (这个是文件夹,假定文件夹下还有文件,这里不写出来了)
BBB      (这个是文件夹,假定文件夹下还有文件,这里不写出来了)
AAA.TXT
AAA2.TXT
BBB.TXT   
BBB2.TXT

晚上再调用这个BAT时候,就应该自动把
BBB          (文件夹包括其下的子文件夹,文件)
BBB.TXT   
BBB2.TXT
这三个文件拷贝到E:\backup,
关键!是只把这三个文件拷贝进去,是增量备份。

第三天的话,同上,有CCC之类,
只复制CCC相关的,AAA与BBB不复制。

大致就是这个意思。高手们请参阅~!!

谢谢楼里的版主与各位兄弟的帮助
问题现在基本解决了 ,谢谢~!!

TOP

本帖最后由 523066680 于 2011-11-25 20:17 编辑

关于备份,更新备份。
推荐robocopy
微软官网的下载+安装包链接:
http://www.microsoft.com/downloa ... ang=en&id=17657


“Robocopy.exe 是 微软在Windows server 2003 Resource Kit Tools 里面提供的程序来做备份的,现在Windows Vista系统中已经自带了这个命令行程序。”

这个工具是微软公司推出的,配合bat批处理,使用非常稳定。

xp   win7系统下,都可以正常使用。

TOP

回复 10# victory2589


    已注释

TOP

回复 7# CrLf


    版主能把代码加注解吗?

TOP

本帖最后由 abcdshenji 于 2011-11-25 17:52 编辑
  1. for /f "delims=" %%i in ('findstr /sm ".*" c:\backup\*') do (
  2. if not exist "e:%%~pnxi" xcopy "%%~i" "e:%%~pi" /e
  3. )
复制代码

TOP

那就不覆盖...
CrLf 发表于 2011-11-25 17:09

谢谢
8过试了下没有用啊 米有提示 也米有复制

TOP

本帖最后由 CrLf 于 2011-11-25 18:18 编辑

那就不覆盖...
  1. @echo off&setlocal enabledelayedexpansion
  2. for /l %%a in (1 10 8000) do set n=!n!nnnnnnnnnn
  3. ::保存八千个 n 到变量 n
  4. echo !n!^&echo !n!^&echo !n!|xcopy /s c:\backup e:\backup\
  5. ::用管道将两万四千个 n 传递给 xcopy,让它等待输入的时候自动从缓冲区读取一个 n,于是选择不覆盖已有文件。
复制代码

TOP

回复  petertch


    能否在顶楼举个例子呢?
CrLf 发表于 2011-11-25 15:30


版主~顶楼有更新了~

TOP

回复 4# petertch


    能否在顶楼举个例子呢?

TOP

完事...
CrLf 发表于 2011-11-25 14:24



    额 楼上两位兄弟, 我主帖没说明清楚。。
因为有些时候可能仅仅是把硬盘其他地方需要备份的文件放到c:\backup下
文件本身是没有修改过的,所以最后修改日期是不会变的。
因此不能通过修改日期来判断啊。
并且,每天要备份的文件也应该是不同的

TOP

本帖最后由 CrLf 于 2011-11-25 14:25 编辑
  1. xcopy /d /y /s c:\backup e:\backup\
复制代码
完事...

TOP

先取文件时间,然后根据时间来判断是否为当天

TOP

返回列表