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

[文本处理] 怎样用批处理备份最新数据库文件?

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

有没有专家、高手帮我看看啊,现在好急啊,数据没办法实现自动备份

TOP

文件夹名是以今天的日期命名的吗?

TOP

  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
复制代码


不好意思,新手,笨方法

TOP

这样呢?
  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
复制代码

TOP

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

TOP

返回列表