中国DOS联盟

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

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

中国DOS联盟论坛
现在时间是 2026-08-10 15:54
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » bat删除N天以前的文件 查看 1,041 回复 6
楼 主 bat删除N天以前的文件 发表于 2008-07-17 11:27 ·  中国 浙江 杭州 电信
新手上路
积分 10
发帖 4
注册 2008-07-17 10:31
18年会员
UID 121627
性别 男
状态 离线
查看了 --(已结)如果在WINDOWS下DOS命令行删除N天以前的文件 --(http://www.cn-dos.net/forum/viewthread.php?tid=16676)这个帖子 。。。找到了解决方案。。

批处理的内容是这样的:
******************************************************
@echo off

rem ============================================
rem 这个批处理的作用是删除d:\datafile里面
rem 最后一次修改是7天之前(不包括7天)的
rem 所有文件(包括所有子目录里的文件)
rem ============================================



rem ============================================
rem 得到7天前的日期
rem 如果今天是8月25,则7天前是日期是 8月18日
rem ============================================
GetInfo.COM /d:-7
set theDay=%year%-%mon%-%day%



rem ============================================
rem 这是在D:\datafile中搜索8天前(含8天)修改过的文件
rem 即8月17日 及 之前 修改的文件
rem ============================================
attrib/s d:\datafile\*.* -h -r -s
:Loop
dirt.com /d:-%theDay% d:\datafile\*.* /q
if %DirtRet%==Fail goto end
del %FPath%\%FName%
goto Loop

:end


******************************************************



里面的DirT.com和GetInfo.com可以到http://www.13886.com/soft//下载,

但这链接失效了。。。。哪位有啊!。。。帮帮忙。。。

[ Last edited by zjutsoft on 2008-7-17 at 11:28 AM ]
2 发表于 2008-07-17 11:28 ·  中国 浙江 杭州 电信
新手上路
积分 10
发帖 4
注册 2008-07-17 10:31
18年会员
UID 121627
性别 男
状态 离线
我要 这个两个第三方插件DirT.com和GetInfo.com
3 发表于 2008-07-17 11:29 ·  中国 浙江 杭州 电信
新手上路
积分 10
发帖 4
注册 2008-07-17 10:31
18年会员
UID 121627
性别 男
状态 离线
大家帮帮忙吧!!!!
4 发表于 2008-07-17 11:42 ·  中国 浙江 杭州 电信
新手上路
积分 10
发帖 4
注册 2008-07-17 10:31
18年会员
UID 121627
性别 男
状态 离线
没人帮我啊!
5 发表于 2008-07-17 13:02 ·  中国 浙江 杭州 联通
银牌会员
★★★
积分 1,436
发帖 739
注册 2007-10-11 17:44
18年会员
UID 99469
性别 男
状态 离线
还不如到2K3下,复制个forfiles
好用多了。
6 发表于 2008-07-17 13:34 ·  美国 惠普HP
版主
★★★★★
积分 9,023
发帖 5,017
注册 2007-05-31 19:39
19年会员
UID 89899
性别 男
状态 离线
用其它方法不行吗?

@echo off
rem 删除当前目录下3天之前的文本文件
set DstDir=C:\test
>"%tmp%\MyDel.vbs" echo dt=date()-3
>>"%tmp%\MyDel.vbs" echo s=right(year(dt),4) ^& right("0" ^& month(dt),2) ^& right("0" ^& day(dt),2)
>>"%tmp%\MyDel.vbs" echo wscript.echo s
for /f %%a in ('cscript /nologo "%tmp%\MyDel.vbs"') do set DateFlag=%%a
setlocal enabledelayedexpansion
for %%a in ("%~dp0*.txt") do (
set t=%%~ta
set FileDate=!t:~6,4!!t:~0,2!!t:~3,2!
if !FileDate! lss %DateFlag% del /q "%%a"
)
7 发表于 2008-12-01 23:27 ·  中国 福建 三明 电信
初级用户
★★
积分 175
发帖 108
注册 2008-05-19 01:24
18年会员
UID 119060
性别 男
状态 离线
xp下测试不能用,请各位看看有没有办法
http://upload.cn-dos.net/img/1145.rar
论坛跳转: