Board logo

标题: [文件操作] 批处理怎样备份文件夹? [打印本页]

作者: lyang70    时间: 2011-6-30 11:48     标题: 批处理怎样备份文件夹?

我想通过批处理文件实现备份某个文件夹(具体是通过windows的任务计划每天定时运行该批处理文件,实现每天备份)。
1、要备份文件夹路径为:\\server02\研发部\研发要事源数据\研发项目管理
2、备份到下面位置:\\server02\研发部\研发要事源数据\研发项目管理备份(当然能够做到可选择备份路径的最好);
3、备份文件夹命名为“星期*”(如今天星期四,今天备份文件夹就取名星期四)。

——请各位老师帮忙写一段代码,这里先行谢过!
作者: cxmzlxb    时间: 2011-6-30 12:33

备份成星期,那么不是每个星期的都会重复,还是楼主会每个星期都清理一次备份文件?
作者: cxmzlxb    时间: 2011-6-30 12:41

本帖最后由 cxmzlxb 于 2011-6-30 12:42 编辑
  1. @echo off
  2. xcopy  /s /e /c /q /h /r /k /o /-y \\server02\研发部\研发要事源数据\研发项目管理 \\server02\研发部\研发要事源数据\研发项目管理备份\%date:~11,4%\
复制代码

作者: Pale_Cheung    时间: 2011-6-30 12:42

本帖最后由 Pale_Cheung 于 2011-6-30 12:49 编辑

xcopy "\\server02\研发部\研发要事源数据\研发项目管理" "\\server02\研发部\研发要事源数据\研发项目管理备份\%date:~11%\研发项目管理" /e /i /h
作者: lyang70    时间: 2011-6-30 12:46

备份成星期,那么不是每个星期的都会重复,还是楼主会每个星期都清理一次备份文件?
cxmzlxb 发表于 2011-6-30 12:33

是的,需要每次自动覆盖上一次的文件夹,简单的说就是循环备份,始终保持7个备份文件夹...
作者: lyang70    时间: 2011-6-30 12:54

@echo off
xcopy  /s /e /c /q /h /r /k /o /-y \\server02\研发部\研发要事源数据\研发项目管理 \\server02\研发部\研发要事源数据\研发项目管理备份\%date:~11,4%\

cxmzlxb 发表于 2011-6-30 12:41


谢谢,运行完没有得到结果,你在帮忙看看...
作者: cxmzlxb    时间: 2011-6-30 12:55

那就OK,如遇同名文件,会自动替换成新文件。
作者: lyang70    时间: 2011-6-30 12:56

本帖最后由 lyang70 于 2011-6-30 13:59 编辑
xcopy "\\server02\研发部\研发要事源数据\研发项目管理" "\\server02\研发部\研发要事源数据\研发项目管理备份\%date:~11%\研发项目管理" /e /i /h
Pale_Cheung 发表于 2011-6-30 12:42


你给的代码基本可以,但还有两点需要麻烦改进一下:1、如遇相同名字的文件直接执行"Y"覆盖即可,不需要提示;2、还有就是备份文件名要设为“星期*”,谢谢...
作者: ygqiang    时间: 2011-7-1 08:50

mark.....    看看,学习下。
作者: lyang70    时间: 2011-7-1 11:10

顶一下!
请老师们帮忙看看...
作者: HAT    时间: 2011-7-1 11:24

8# lyang70


把/-y改成/y
作者: lyang70    时间: 2011-7-1 15:45

8# lyang70


把/-y改成/y
HAT 发表于 2011-7-1 11:24

谢谢老师的回复!不知如何实现1楼第二点括号里的要求。
作者: HAT    时间: 2011-7-2 10:33

  1. @echo off
  2. echo 请输入备份路径(比如:\\server02\研发部\研发要事源数据\研发项目管理备份)
  3. set /p input=
  4. xcopy  /s /e /c /q /h /r /k /o /y "\\server02\研发部\研发要事源数据\研发项目管理" "%input%\%date:~11,4%\"
复制代码

作者: lyang70    时间: 2011-7-4 09:12

谢谢HAT。
还有一个问题问大家,文件名取“星期*”好像前提必须要确定系统的日期格式才能实现,有没有不通过设置系统日期格式直接提取的方法?
作者: lyang70    时间: 2011-7-7 08:49

请老师们不吝赐教,谢谢!
作者: Pale_Cheung    时间: 2011-7-27 15:19

你给的代码基本可以,但还有两点需要麻烦改进一下:1、如遇相同名字的文件直接执行"Y"覆盖即可,不需要 ...
lyang70 发表于 2011-6-30 12:56
  1. xcopy "\\server02\研发部\研发要事源数据\研发项目管理" "\\server02\研发部\研发要事源数据\研发项目管理备份\%date:~11%" /e /i /h
复制代码
我原来的命令应该不会有询问覆盖的问题吧?
现在改成“星期几”了。




欢迎光临 批处理之家 (http://www.bathome.net/) Powered by Discuz! 7.2