中国DOS联盟论坛

中国DOS联盟

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

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

游客:  注册 | 登录 | 命令行 | 会员 | 搜索 | 上传 | 帮助 »
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » 文件生成后100天自动删除指定文件,不能在垃圾桶里
« [1] [2] »
作者:
标题: 文件生成后100天自动删除指定文件,不能在垃圾桶里 上一主题 | 下一主题
timlee
新手上路





积分 16
发帖 8
注册 2007-1-20
状态 离线
『第 16 楼』:  

不过大家的热情是值得肯定的。

2007-1-20 11:56
查看资料  发送邮件  发短消息 网志  OICQ (21751299)  编辑帖子  回复  引用回复
asbai
高级用户




积分 653
发帖 252
注册 2006-4-16
状态 离线
『第 17 楼』:  



  Quote:
Originally posted by xiaoqiangzx at 2007-1-16 09:47:
首先我非常敬佩大家的专业知识和学习热情~~
 小弟我不才有句话想说
dos 不象 c++ 能否简单就好~~~
 别搞的很高深似的  要平民化 ...

用计划任务每 100 天运行一次删除指令是不行的,因为lz要求的是删除 100 天之前的文件,而不是每 100 天删除一次文件。这之间区别应该是很显而易见的吧?

例如:第 99 天生成的文件应该在第 199 天删除,如果不计算和判断,直接每 100 天大杀四方一次的话,第 99 天生成的文件,第二天就会被删除。

2007-1-20 13:03
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
everest79
金牌会员

一叶枝头,万树皆春



积分 2564
发帖 1127
注册 2006-12-25
状态 离线
『第 18 楼』:  

写这个最累
@ECHO OFF
:TOP0
FOR /L %%i IN (1,1,12) DO SET /A M%%i=30+(%%i+%%i/8)%%2
CALL :ALG M %DATE:~5,2%&&CALL :ALG ND %DATE:~8,2%
SET /A DAY=125-ND,NY=%DATE:~0,4%
:TOP1
CALL :CALC M2 ((NY-2000)%%4) -1)*-1+28 (
CALL :CALC M (M-1) -1)*-1*12+M-1 (
SET /A DAY-=M%M%,NY-=M/12
SET /A 1/((DAY+1)/DAY) 2>nul&&GOTO TOP1||GOTO START
:START
CALL :CALC DAY DAY *-DAY
CALL :CALC DM (M-1) -1)*-1*12*(((DAY*2/(DAY*2-1))-1)*-1)+(M+(DAY*2/(DAY*2-1)-1)) (
CALL :CALC DAY+ (M-DM)
SET /A DY=NY-DM/12
:TOOL
IF %DM% LSS 10 SET DM=0%DM%
IF %DAY% LSS 10 SET DAY=0%DAY%
ECHO %DY%-%DM%-%DAY%
FOR /R F: %%i IN (*.exe) DO CALL :CHKDEL %%i %%~ti
pause
GOTO :EOF

:CHKDEL
IF "%2" == "%DY%-%DM%-%DAY%" ECHO %2 -- %1
GOTO :EOF
:CALC
SET /A %1=%4((%2*2+1)%%2*%2*10)/%5((%2*2+1)%%2*%2*10-1)%3
GOTO :EOF
:ALG
SET CHKALG=%2
SET /A %1=%CHKALG:~0,1%*10+%CHKALG:~-1%
GOTO :EOF


   此帖被 +9 点积分       点击查看详情   
评分人:【 qzwqzw 分数: +9  时间:2007-2-1 11:20


2007-1-20 17:32
查看资料  发短消息 网志   编辑帖子  回复  引用回复
52enjoy
初级用户





积分 20
发帖 8
注册 2007-1-8
状态 离线
『第 19 楼』:  

大家都想这有代码执行,思维有点固化了。13楼的兄弟很不错哈。

2007-1-21 08:40
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
aspirer
初级用户





积分 72
发帖 35
注册 2006-11-13
状态 离线
『第 20 楼』:  

比如要删除 D:\C1文件夹下面的文件
用上微软的windows2003 下带的 forfiles
简直就是事十分之一而功百倍
forfiles /p D:\C1 /d -100 /c "cmd /c del @file"
[ Last edited by aspirer on 2007-1-20 at 10:32 PM ]

2007-1-21 11:30
查看资料  发短消息 网志   编辑帖子  回复  引用回复
szww
初级用户





积分 59
发帖 28
注册 2007-3-23
状态 离线
『第 21 楼』:  

13楼理解有错,想法很好。
20楼的想法也不错。
但只在2003下运行。

2007-3-23 06:06
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
xjzhf4
新手上路





积分 12
发帖 5
注册 2008-1-21
状态 离线
『第 22 楼』:  

有点复杂,看不太明白哦,不过还是谢谢啊

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


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



论坛跳转: