删除文件夹中2个月之前的文件,批处理文件该怎么做
需要做一个批处理的文件,删除某个特定文件夹中两个月之前的文件,可以吗?这个批处理的文件是需要放在计划任务当中每天执行的,也就是起到清理2个月之前的文件的作用。补充:文件名...
需要做一个批处理的文件,删除某个特定文件夹中两个月之前的文件,可以吗?
这个批处理的文件是需要放在计划任务当中每天执行的,也就是起到清理2个月之前的文件的作用。
补充:文件名是有规律的,就是日期加.bak的后缀,比如20050505.bak
那串长长的东西没啥用,不过无论如何谢谢啦。后来找到了更好用的,windows2003以后版本可用。
forfiles /p "c:\backup" /d -10 /c "cmd /c echo deleting @file ... && del /f @path" 展开
这个批处理的文件是需要放在计划任务当中每天执行的,也就是起到清理2个月之前的文件的作用。
补充:文件名是有规律的,就是日期加.bak的后缀,比如20050505.bak
那串长长的东西没啥用,不过无论如何谢谢啦。后来找到了更好用的,windows2003以后版本可用。
forfiles /p "c:\backup" /d -10 /c "cmd /c echo deleting @file ... && del /f @path" 展开
2个回答
展开全部
没把要求说清楚哦,每天执行,那就是要删去多少天比如60天前的,而不要说是两个月前的,或者说到每两月几号清除一次那就说清除两个月前的,再或者手动运行一批处理就清一次。文件名有规律更好,代码简单多了,不然按文件修改日期来判断也能办到。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2010-05-05
展开全部
@echo off
setlocal enabledelayedexpansion
set /a "check_time=%date:~5,2%-2"
for /f "delims=" %%a in ('dir /b *.bak') do (
for /f "tokens=2 delims=-" %%b in ("%%~t") do (
if "!check_time!" gtr "!%%b!" (
del /q /f "%%a"
)
)
)
setlocal enabledelayedexpansion
set /a "check_time=%date:~5,2%-2"
for /f "delims=" %%a in ('dir /b *.bak') do (
for /f "tokens=2 delims=-" %%b in ("%%~t") do (
if "!check_time!" gtr "!%%b!" (
del /q /f "%%a"
)
)
)
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询