中国DOS联盟论坛

中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --

联盟域名:www.cn-dos.net  论坛域名:www.cn-dos.net/forum
DOS,代表着自由开放与发展,我们努力起来,学习FreeDOS和Linux的自由开放与GNU精神,共同创造和发展美好的自由与GNU GPL世界吧!

游客:  注册 | 登录 | 命令行 | 会员 | 搜索 | 上传 | 帮助 »
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » [已结]批处理自动删除N天之前文件目录
« [1] [2] [3] »
作者:
标题: [已结]批处理自动删除N天之前文件目录 上一主题 | 下一主题
sziang
新手上路





积分 16
发帖 7
注册 2008-8-18
状态 离线
『楼 主』:  [已结]批处理自动删除N天之前文件目录

我是单位的临时网管,备份OA服务器的数据是每天的工作内容之一,现在我是把OA服务器上应当备份的文件夹和文件进行全盘复制到以当天日期命名(如2008-08-18)生成的一个文件夹中(也是批处理,每天自动执行),由于备份的内容赿来赿大(备份一次达27.6G),我想求一个在备份的之前能够自动删除五天之前的备份目录(只保留五天的备份记录即可)的批处理文件,先谢了!我的系统是XP_SP1

[ Last edited by HAT on 2008-10-20 at 23:35 ]

2008-8-18 16:03
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
HAT
版主





积分 9023
发帖 5017
注册 2007-5-31
状态 离线
『第 2 楼』:  


@echo off
>"%temp%\MyDate.vbs" echo dt=date()-5
>>"%temp%\MyDate.vbs" echo s=right(year(dt),4) ^& "-" ^& right("0" ^& month(dt),2) ^& "-" ^& right("0" ^& day(dt),2)
>>"%temp%\MyDate.vbs" echo wscript.echo s
for /f %%a in ('cscript /nologo "%temp%\MyDate.vbs"') do set FiveDay=%%a
for /f %%a in ('dir /b /ad') do (
  if "%%a" lss "%FiveDay%" (
    echo rd /s /q "%%a"
  )
)




2008-8-18 16:26
查看资料  发短消息 网志   编辑帖子  回复  引用回复
sziang
新手上路





积分 16
发帖 7
注册 2008-8-18
状态 离线
『第 3 楼』:  

非常感谢HAT朋友的答复!刚刚我将上述批处理放到目录中测试无效。我是在D盘根目录建一个000文件夹,将服务器文件(含目录)备份到此目录中分别生成的2008-08-12至2008-08-18的文件夹之中,现在只想保留2008-08-14之后的,请问怎么操作?不好意思,我是dos盲,请说具体点,再次谢谢!

2008-8-18 17:41
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
HAT
版主





积分 9023
发帖 5017
注册 2007-5-31
状态 离线
『第 4 楼』:  


@echo off
>"%temp%\MyDate.vbs" echo dt=date()-5
>>"%temp%\MyDate.vbs" echo s=right(year(dt),4) ^& "-" ^& right("0" ^& month(dt),2) ^& "-" ^& right("0" ^& day(dt),2)
>>"%temp%\MyDate.vbs" echo wscript.echo s
for /f %%a in ('cscript /nologo "%temp%\MyDate.vbs"') do set FiveDay=%%a
for /f %%a in ('dir /b /ad "D:\000"') do (
  if "%%a" lss "%FiveDay%" (
    rd /s /q "%%a"
  )
)




2008-8-18 17:48
查看资料  发短消息 网志   编辑帖子  回复  引用回复
sziang
新手上路





积分 16
发帖 7
注册 2008-8-18
状态 离线
『第 5 楼』:  

测试还是不成功。。。。说具体点,谢了

2008-8-18 18:22
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
HAT
版主





积分 9023
发帖 5017
注册 2007-5-31
状态 离线
『第 6 楼』:  

把代码保存为xxx.bat
双击运行
把结果贴出来看看
>"%temp%\MyDate.vbs" echo dt=date()-5
>>"%temp%\MyDate.vbs" echo s=right(year(dt),4) ^& "-" ^& right("0" ^& month(dt),2) ^& "-" ^& right("0" ^& day(dt),2)
>>"%temp%\MyDate.vbs" echo wscript.echo s
for /f %%a in ('cscript /nologo "%temp%\MyDate.vbs"') do set FiveDay=%%a
for /f %%a in ('dir /b /ad "D:\000"') do (
  if "%%a" lss "%FiveDay%" (
    rd /s /q "D:\000\%%a"
  )
)
pause




2008-8-18 19:24
查看资料  发短消息 网志   编辑帖子  回复  引用回复
abcd
银牌会员





积分 1436
发帖 739
注册 2007-10-11
状态 离线
『第 7 楼』:  

这种东西,论坛早有,就不要回帖和发帖了。

   此帖被 -1 点积分    点击查看详情   
评分人:【 pusofalse 分数: -1  时间:2008-8-23 22:59


2008-8-18 20:35
查看资料  发短消息 网志  OICQ (470237592)  编辑帖子  回复  引用回复
sziang
新手上路





积分 16
发帖 7
注册 2008-8-18
状态 离线
『第 8 楼』:  

运行结果,图片已上传


[ Last edited by sziang on 2008-8-19 at 10:34 AM ]

2008-8-19 10:10
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
HAT
版主





积分 9023
发帖 5017
注册 2007-5-31
状态 离线
『第 9 楼』:  

看不到图片。
先把图片上传到论坛,再把链接放到img标签里面即可。



2008-8-19 10:47
查看资料  发短消息 网志   编辑帖子  回复  引用回复
wangwei4106
新手上路





积分 15
发帖 8
注册 2008-8-19
状态 离线
『第 10 楼』:  

来混点积分看高级点的······

2008-8-19 10:53
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
sziang
新手上路





积分 16
发帖 7
注册 2008-8-18
状态 离线
『第 11 楼』:  

D盘根目录下备份文件夹000

bat文件

bat文件运行情况


[ Last edited by sziang on 2008-8-19 at 03:34 PM ]

2008-8-19 15:29
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
HAT
版主





积分 9023
发帖 5017
注册 2007-5-31
状态 离线
『第 12 楼』:  

运行6楼的代码,结果贴出来看看



2008-8-19 15:32
查看资料  发短消息 网志   编辑帖子  回复  引用回复
sziang
新手上路





积分 16
发帖 7
注册 2008-8-18
状态 离线
『第 13 楼』:  

看到图片了吗,请帮忙

2008-8-19 16:35
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
HAT
版主





积分 9023
发帖 5017
注册 2007-5-31
状态 离线
『第 14 楼』:  

代码更正如下:
>"%temp%\MyDate.vbs" echo dt=date()-5
>>"%temp%\MyDate.vbs" echo s=right(year(dt),4) ^& "-" ^& right("0" ^& month(dt),2) ^& "-" ^& right("0" ^& day(dt),2)
>>"%temp%\MyDate.vbs" echo wscript.echo s
for /f %%a in ('cscript /nologo "%temp%\MyDate.vbs"') do set FiveDay=%%a
for /f "tokens=*" %%a in ('dir /b /ad "D:\000"') do (
  if "%%a" lss "%FiveDay%" (
    rd /s /q "D:\000\%%a"
  )
)
pause




2008-8-19 17:21
查看资料  发短消息 网志   编辑帖子  回复  引用回复
sziang
新手上路





积分 16
发帖 7
注册 2008-8-18
状态 离线
『第 15 楼』:  

还是没有用,运行结果和我那天发的一样

2008-8-21 15:47
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
« [1] [2] [3] »
请注意:您目前尚未注册或登录,请您注册登录以使用论坛的各项功能,例如发表和回复帖子等。


可打印版本 | 推荐给朋友 | 订阅主题 | 收藏主题



论坛跳转: