bat 删除文件

来源:百度知道 编辑:UC知道 时间:2024/05/17 23:39:25
文件格式为:2007-10-15.sql,2007-10-16.sql……,我想保留前七天的文件,请帮忙写个批处理.

删除当前文件夹中7天前的文件。
复制后一定要删除每行最后多余的空格。。。。。。。
代码核心算法,原创作者: will sort

测试成功后删除if %yy%-%mm%-%dd% leq %var% echo del/q "%%i"将这句改为
if %yy%-%mm%-%dd% leq %var% del/q "%%i" 即可达到删除效果,否则只是显示,并不删除。

@echo off
for /f "tokens=1-3 delims=.-/ " %%a in ("%date%") do (
set /a yy=%%a,mm=100%%b%%100,dd=100%%c%%100
)
call :lis :DateDiff %yy%-%mm%-%dd% -7 var
setlocal EnableDelayedExpansion
for /f "delims=" %%i in ('dir/b/a-d *.sql') do (
for /f "tokens=1-3 delims=.-/ " %%a in ("%%~ni") do (
set /a yy=%%a,mm=100%%b%%100,dd=100%%c%%100
if %yy%-%mm%-%dd% leq %var% echo del/q "%%i"
)
)
pause
exit
:DateDiff
setlocal ENABLEEXTENSIONS
for /f "tokens=1-3 delims=-" %%a in ("%~1") do set yy=%%a&set mm=%%b&set dd=%%c
set /a dd=100%dd%%%100,mm=100%mm%%%100
set /a z=14-mm