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

[文本处理] 批处理怎样拷贝最新的含日期的数据库并备份到异地电脑?

各位高手好:
       小弟想做一个批处理备份,用任务计划,网络硬盘映射,定时将oracle备份出来的库,拷贝到异地电脑,oracle每天10:00,15:00,20:00点会备份三次,生成的文件格式是:201101012000.dmp,我想将每天最后20:00点的备份拷贝到异地电脑硬盘上,这样就是需要验证时间和日期累加的问题,小弟不知道怎么写,还向各位高手请教。谢谢!

  1. cmd /c copy "本地路径\%date:~0,4%%date:~5,2%%date:~8,2%2000.dmp" "网络路径\%date:~0,4%%date:~5,2%%date:~8,2%2000.dmp"
复制代码
在任务计划中启动
寒夜孤星:在没有说明的情况下,本人所有代码均运行在 XP SP3 下 (有问题请发贴,QQ临时会话已关闭)

TOP

非常感谢,小弟还忘记了删除前5天的备份,因为硬盘不够大

非常感谢,小弟还忘记了删除前5天的备份,因为硬盘不够大,一个库备份出来大概7个G左右。还望请教。

TOP

拷贝加删除:
  1. @echo off
  2. cd/d "本地路径"
  3. for /f "tokens=1-3 delims=-:/ " %%a in ("%date%") do set Y=%%a&set M=%%b&set D=%%c
  4. set M_=0%M%&set D_=0%D%
  5. set C0=%Y%%M_:~-2%%D_:~-2%2000.dmp
  6. if %M:~0,1%==0 set M=%M:~1%
  7. if %D:~0,1%==0 set D=%D:~1%
  8. set/a D-=5
  9. if %D% leq 0 call:C %D%
  10. set M=0%M%&set D=0%D%
  11. set C5=%Y%%M:~-2%%D:~-2%2000.dmp
  12. for %%a in (*.dmp) do if "%%a" leq "%C5%" del /f/a "%%a"
  13. copy %C0% "网络路径\%C0%"
  14. exit
  15. :C
  16. set/a M-=1,Y-=!M,M+=!M*12,"C=!(M-4)|!(M-6)|!(M-9)|!(M-11)","D+=!(M-2)*(28+(!(Y%%4)&!!(Y%%100))|!(Y%%400))+C*30+(!!(M-2)&!C)*31"
  17. if %D% leq 0 goto:C
复制代码

[ 本帖最后由 hanyeguxing 于 2011-1-4 22:41 编辑 ]
寒夜孤星:在没有说明的情况下,本人所有代码均运行在 XP SP3 下 (有问题请发贴,QQ临时会话已关闭)

TOP

非常感谢,版主!

小弟在此谢了,调试了代码,只能删除本机ORACLE备份出来的5天前20:00的备份数据,像5天前10:00和15:00还在,拷贝到网络机的备份不能删除前5天,不知道在代码哪行添加删除10:00,15:00的备份,生成的文件格式是:201101011000.dmp,201101011500.dmp我想实现本机、网络机双向删除前5天的备份。还望赐教。

TOP

在windows2000server运行时显示找不到文件

高手请赐教:
            小弟在windows2000 server DOS版本是5.0的,运行  cmd /c copy "本地路径\%date:~0,4%%date:~5,2%%date:~8,2%2000.dmp"这个批处理时,显示:星期四-01-20.dmp找不到系统指定的文件,无法复制。但我在windows2003和XP里运行是正常,而且DOS版本是5.1以上,请问是不是dOS版本的问题,如果是这个语句怎么写

TOP

其实规律性如此之强的背景下,要判断哪些是五天之前的,完全不需要用函数计算,sort就行了:
  1. @echo off
  2. set /a t=%time:~0,2%/5+11
  3. for /f "delims=" %%a in ('dir *.tmp^|sort /r^|more +%t%') do del "%%a"
复制代码

TOP

返回列表