没把要求说清楚哦,每天执行,那就是要删去多少天比如60天前的,而不要说是两个月前的,或者说到每两月几号清除一次那就说清除两个月前的,再或者手动运行一批处理就清一次。文件名有规律更好,代码简单多了,不然按文件修改日期来判断也能办到。
@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"
)
)
)