Board logo

标题: [文本处理] 怎样用批处理备份最新数据库文件? [打印本页]

作者: zjy198277    时间: 2010-7-30 18:01     标题: 怎样用批处理备份最新数据库文件?

服务器Y盘里面有ZT001,ZT002,ZT003,ZT004,ZT005,这5个文件夹,5个文件夹中分别都有按照时间命名的20100728、20100729、20100730,……文件夹,现在分别要将ZT001,ZT002,ZT003,ZT004,ZT005里面最新的一个文件夹(包括文件)一起拷贝到,F:\拥有财务数据库备份 中的ZT001,ZT002,ZT003,ZT004,ZT005中,请大家帮忙看看应该怎么写批处理语句
作者: zjy198277    时间: 2010-8-2 11:13

有没有专家、高手帮我看看啊,现在好急啊,数据没办法实现自动备份
作者: slovent    时间: 2010-8-2 21:19

文件夹名是以今天的日期命名的吗?
作者: slovent    时间: 2010-8-2 21:28

  1. set foldername=%date:~0,4%%date:~5,2%%date:~8,2%
  2. set Source=y:\
  3. set Target=F:\拥有财务数据库备份\
  4. echo copy %Source%ZT001\%foldername% %Target%ZT001\
  5. echo copy %Source%ZT002\%foldername% %Target%ZT002\
  6. echo copy %Source%ZT003\%foldername% %Target%ZT003\
  7. echo copy %Source%ZT004\%foldername% %Target%ZT004\
  8. echo copy %Source%ZT005\%foldername% %Target%ZT005\
  9. pause
复制代码


不好意思,新手,笨方法
作者: terse    时间: 2010-8-3 00:36

这样呢?
  1. @echo off
  2. for %%i in (ZT001,ZT002,ZT003,ZT004,ZT005) do (
  3.     for /f "tokens=*" %%j in ('dir /ad /b /od "Y:\%%i"') do set "Files=%%j"
  4.         setlocal enabledelayedexpansion
  5.         XCOPY "Y:\%%i\!Files!" "F:\Program Files\拥有财务数据库备份\%%i\!Files!\" /E /Y /H /R >nul 2>nul
  6.         endlocal
  7. )
  8. pause
复制代码

作者: zjy198277    时间: 2010-8-3 09:12

谢谢,这个代码真好,搞定了,我想问下 >nul 2>nul这个是啥意思啊




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