![]() |
中国DOS联盟-- 联合DOS 推动DOS 发展DOS --联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum |
| 游客 | 登录 | 注册 | 会员 | 搜索 | 中国DOS联盟 |
|
中国DOS联盟论坛 现在时间是 2026-08-13 02:36 |
共 47,811 主题排行 / 349,897 发帖 / 今日 0 篇 / 48,256 会员排行 |
| DOS批处理 & 脚本技术(批处理室) » 求问“关于定期清理文件夹的bat”(等待中第2天了) |
| 可打印版本 2,895 / 16 |
| 第1楼 sj2009 | 发表于 2009-12-15 14:46 |
| 新手上路 发帖 10 积分 10 | |
|
求问“关于定期清理文件夹的bat”(等待中第2天了) 想做一个计划任务,定期1个月清理d:\视频录像的资料。
但不知道如何写这样的BAT文件,请好心人帮助。 [ Last edited by sj2009 on 2009-12-16 at 16:56 ] |
|
| 第2楼 Hanyeguxing | 发表于 2009-12-15 15:12 |
| 银牌会员 发帖 897 积分 1,039 来自 在地狱中仰望天堂 | |
|
你要怎么清理呢?
如果是要每个月的这一天删除d根目录下(不含子目录)所有mpg文件,则可以: [ Last edited by Hanyeguxing on 2009-12-15 at 15:25 ] |
|
| 第3楼 hanxiaofeng888 | 发表于 2009-12-15 22:14 |
| 新手上路 发帖 4 积分 5 | |
|
如果只做BAT让它每个月清理文件,那这个BAT必须一直开着
你可以这样。把下面的代码保存为BAT,把它添加到计划任务里,让它每个月启动一回就可以了 这样是不是很简短 呵呵 del /q d:\视频录像的资料\*.* 上面的只能删除d:\视频录像的资料\下的所有文件,不能删除文件夹和子目录下的文件 del /q /s d:\视频录像的资料\*.* 删除d:\视频录像的资料\下的所有文件和子目录下的所有文件,不能删除文件夹 |
|
| 第4楼 sj2009 | 发表于 2009-12-16 09:05 |
| 新手上路 发帖 10 积分 10 | |
|
回2楼达人,我表达的不够准确,不好意思啦。
其实我想写的BAT文件,是为做一个计划任务, 定期1个月清理d:\视频录像的资料\*.*的视频文件, 就好比现在是2009.12月,我要清理前面10月和11月的视频文件,麻烦你再写下 |
|
| 第5楼 sj2009 | 发表于 2009-12-16 09:06 |
| 新手上路 发帖 10 积分 10 | |
|
3楼的兄弟也多谢啦
|
|
| 第6楼 sj2009 | 发表于 2009-12-16 12:56 |
| 新手上路 发帖 10 积分 10 | |
|
继续求解
|
|
| 第7楼 qinchun36 | 发表于 2009-12-16 16:02 |
| 高级用户 发帖 400 积分 609 | |
|
请先右键看一下你那些文件的属性
你要清理的依据是 “创建时间” 还是 “修改时间” 如果是后者的话可以帮你搞一下,前者如果用bat的话必须调用WMIC,太麻烦了我写不来。。。 |
|
| 第8楼 sj2009 | 发表于 2009-12-16 16:04 |
| 新手上路 发帖 10 积分 10 | |
|
回LS,清理的依据是 “创建时间”
|
|
| 第9楼 sj2009 | 发表于 2009-12-16 16:05 |
| 新手上路 发帖 10 积分 10 | |
|
请教如何清理以日期命名的文件夹
其实我想写的BAT文件,是为做一个计划任务, 定期2个月清理d:\视频录像的资料\20091201\目录下的视频文件, 20091201是以日期命名的文件夹, 就好比现在是2009.12月,我要清理前面10月和11月的视频文件 |
|
| 第10楼 sj2009 | 发表于 2009-12-16 16:14 |
| 新手上路 发帖 10 积分 10 | |
| 第11楼 qinchun36 | 发表于 2009-12-16 17:11 |
| 高级用户 发帖 400 积分 609 | |
|
靠,累死我了,给你写了一个,先别忙着运行,给你说明下先。
1、不要重复发帖,这种行为是很被鄙视的。 2、每次只能搞一个文件夹,因此每次要设置,改这个代码,通配符会吧,像 set files=d:\视频录像的资料\20091201\*.* 这样的,或者改成 *.rmvb 3、记住这个处理的是『创建日期』,请仔细理解。 4、先确认你机器安装了WMIC,具体做法是在命令行窗口中执行 wmic 安装之后才能运行这个批处理。 |
|
| 第12楼 Hanyeguxing | 发表于 2009-12-16 19:14 |
| 银牌会员 发帖 897 积分 1,039 来自 在地狱中仰望天堂 | |
|
首先,类似于多长时间运行一次批处理等,在任务计划中设置.
在任务计划中运行这个批处理: 其中: 1,路径是指要操作的目录,例如d:\视频录像的资料 2,时间是比较时间,例如以2009年10月12日09时13分为分隔点,则写成200910120913,其中:时间1是时间段的开始,时间2是时间段的结束,本批处理将删除这个时间段之间创建的所有文件。 3,本批处理每次仅能处理一个目录(文件夹),且不处理其子目录(文件夹)。 4,本批处理依赖dir的输出格式,所以运行前请测试dir命令输出,是否符合本批处理要求。在cmd 中运行 dir "路径" /a:-d /t:c 看输出是否下面示例样子。 驱动器 C 中的卷没有标签。 卷的序列号是 303A-5C0B C:\Documents and Settings\寒夜孤星 的目录 2009-10-12 09:13 2,883,584 NTUSER.DAT 2009-10-12 09:13 24,576 ntuser.dat.LOG 2009-10-12 09:13 178 ntuser.ini 2009-10-12 21:48 976 ntuser.pol 4 个文件 2,909,314 字节 0 个目录 12,642,504,704 可用字节 如果只删除某个时间点之前的文件,则可以这样写: [ Last edited by Hanyeguxing on 2009-12-16 at 19:54 ] |
|
| 第13楼 Hanyeguxing | 发表于 2009-12-16 20:39 |
| 银牌会员 发帖 897 积分 1,039 来自 在地狱中仰望天堂 | |
|
如果要删除前几个月的文件,则可以这样写:
其中set n=设置月份的长度,例如,当前为12月,要删除前5个月份的文件,则设置set n=5,即检查的月份为07月,08月,09月,10月,11月。 注意,n必须为1到12之间的数字。 [ Last edited by Hanyeguxing on 2009-12-16 at 20:59 ] |
|
| 第14楼 hanxiaofeng888 | 发表于 2009-12-16 20:59 |
| 新手上路 发帖 4 积分 5 | |
|
楼上的 厉害 运用的如此巧妙和精简 学习了
|
|
| 第15楼 sj2009 | 发表于 2009-12-17 08:51 |
| 新手上路 发帖 10 积分 10 | |
|
非常感谢:qinchun36和Hanyeguxing;
我会认真学习 |
|
| 1 2 下一页 |
|
[ 联系联盟系统管理团队 -
中国DOS联盟 -
标准版 ] Sponsored by ifanr Inc | © 2001–2023 |