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

[文件操作] 批处理自动生成以日期为名的备份文件并删除60天之前的文件

请高手帮我做个批处理文件:

原文件名:d:\1.xls
备份文件地址:d:\bak\

要求:
1. 按执行批处理日期生存备份文件,文件名为:备份当天日期.xls
2. 保存60天的数据。超过60天自动删除旧档案。
3. 同一天执行自动覆盖旧文件。

如备份后文件名应为:
20090424.xls
20090423.xls
......

谢谢啦!
急急

按楼主要求写了一个。借用一下时间函数,不知合不合要求
  1. @echo off
  2. set filepath=d:\
  3. set bakpath=d:\bak\
  4. for /f "tokens=1-3 delims=/-.: " %%a in ("%date% %time%") do (
  5. set "bkfn=%%a%%b%%c"&call :datetodays %%a %%b %%c days
  6. )
  7. copy /Y %filepath%1.xls %bakpath%%bkfn%.xls >nul 2>nul&&echo 备份%filepath%1.xls到%bakpath%%bkfn%.xls成功||echo %filepath%1.xls文件不存在
  8. set/a dayo=days-60
  9. for /f "tokens=1-3,6 delims=- " %%i in ('dir/OD %bakpath%*.xls ^| find "xls"') do (
  10. call :datetodays %%i %%j %%k old_d
  11. if %old_d% lss %dayo% del /Q %bakpath%%%l>nul&&echo 备份文件%bakpath%%%l过期,已被删除
  12. )
  13. echo 处理完毕!
  14. pause&goto :eof
  15. :datetodays
  16. setlocal ENABLEEXTENSIONS
  17. set yy=%1&set mm=%2&set dd=%3
  18. set /a dd=100%dd%%%100,mm=100%mm%%%100
  19. set /a z=14-mm,z/=12,y=yy+4800-z,m=mm+12*z-3,j=153*m+2
  20. set /a j=j/5+dd+y*365+y/4-y/100+y/400-2472633
  21. endlocal&set %4=%j%&goto :EOF
复制代码

TOP

回复 8楼 的帖子

没有通用性?你没有仔细搜索吧?

批处理删除指定天数日期之前的文件
http://bbs.bathome.net/thread-3334-1-1.html
我帮忙写的代码不需要付钱。如果一定要给,请在微信群或QQ群发给大家吧。
【微信公众号、微信群、QQ群】http://bbs.bathome.net/thread-3473-1-1.html
【支持批处理之家,加入VIP会员!】http://bbs.bathome.net/thread-67716-1-1.html

TOP

回复 7楼 的帖子

恩,代码不少。但没有通用性。
跨年,月,日,还要考虑闰年闰月的问题。能实现,但代码量相对不会太少。

TOP

关于如何获得指定天数前的日期,相关代码以多如牛毛,搜搜看.
技术问题请到论坛发帖求助!

TOP

1 3 比较简单,
2涉及时间问题, 比较复杂.

TOP

真的没有解决我的问题!!

再请高手帮忙啦!!!

TOP

回复 3楼 的帖子

别忙着谢,他给的链接完全解决你的问题了?如果是的话,再谢不迟。
^_^
我帮忙写的代码不需要付钱。如果一定要给,请在微信群或QQ群发给大家吧。
【微信公众号、微信群、QQ群】http://bbs.bathome.net/thread-3473-1-1.html
【支持批处理之家,加入VIP会员!】http://bbs.bathome.net/thread-67716-1-1.html

TOP

谢谢了。当时搜了一下没找着。又急。所以.......

TOP

这个帖子已经有了,不要重复发同一个问题啊
http://bbs.bathome.net/viewthread.php?tid=4253&page=1#pid27253

[ 本帖最后由 htnet11 于 2009-4-24 12:13 编辑 ]

TOP

返回列表