中国DOS联盟

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

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

中国DOS联盟论坛
现在时间是 2026-08-13 00:04
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » 求问“关于定期清理文件夹的bat”(等待中第2天了) 查看 2,889 回复 16
16 发表于 2009-12-17 11:47 ·  中国 上海 电信
新手上路
积分 10
发帖 10
注册 2009-12-14 14:59
16年会员
UID 156571
性别 男
状态 离线
研究了很久,还是不行。
如果只删除某个时间点之前的文件,则可以这样写:
CODE: [Copy to clipboard]
--------------------------------------------------------------------------------

for /f "skip=5 tokens=1,2,3,4,5,7* delims=-:/ " %%i in ('dir "路径" /a:-d /t:c') do if not "%%m" == "" if "%%i%%j%%k%%l%%m" lss "时间" @del "路径\%%n%%o" /a /f /q>nul 2>nul
17 发表于 2009-12-17 12:45 ·  中国 吉林 延边朝鲜族自治州 延吉市 电信
银牌会员
★★★
正在学习中的菜鸟...
积分 1,039
发帖 897
注册 2009-03-01 15:34
17年会员
UID 140302
性别 男
来自 在地狱中仰望天堂
状态 离线
@echo off
set a=d:\视频录像的资料
set t=201009021501
for /f "skip=5 tokens=1,2,3,4,5,7* delims=-:/ " %%i in ('dir "%a%" /a:-d /t:c') do if not "%%m" == "" if "%%i%%j%%k%%l%%m" lss "%t%" echo "%a%\%%n%%o"
echo 测试目录为%a%
echo 分隔时间为%t:~0,4%年%t:~4,2%月%t:~6,2%日%t:~8,2%时%t:~10,2%分
pause>nul

“d:\视频录像的资料”为要检查的目录。时间点设置为2010年09月02日15时01分
用这个来测试。列表中没有显示该文件夹中的所有文件吗?你把显示的结果贴图出来。
具体说一下,怎么不行?

[ Last edited by Hanyeguxing on 2009-12-17 at 12:56 ]
论坛跳转: