bat脚本删除5天之前的文件
我运行完一段脚本,最后生成了以日期命名的文本文档,如20130825.txt,20130826.txt,20130827.txt这样的文件,怎样删除5天之前的文件呢?(当...
我运行完一段脚本,最后生成了以日期命名的文本文档,如20130825.txt,20130826.txt,20130827.txt这样的文件,怎样删除5天之前的文件呢?(当前目录有好多5天之前的其它文件,如1.html,3.jpg,3.avi之类的),仅仅删除以日期命名的文件(上面提到的20130825.txt)这样的,该添加什么脚本呢?麻烦知道的大神说下,小弟在此谢过了!
展开
4个回答
展开全部
bat脚本:批处理文件,在DOS和Windows(任意)系统中,.bat文件是可执行文件,由一系列命令构成,其中可以包含对其他程序的调用。这个文件的码指首每一行都是一条DOS命令(大部分时候就好像我们在DOS提示符下执行的命令行一样),你可以使用DOS下的Edit或者Windows的记事本(notepad)等任何文本文件编辑工具创建和修改批处理文件。
@echo off
::在d:\测试文件夹中删除5天前以日期为主名的txt文件
cd/d "d:\测试文件夹"
set/a n=5
set/a y=%date:~,4%,m=1%date:~5,2%-100,d=1%date:~8,2%-100
set/a d-=n
if %d% gtr 0 goto :ok
:ov
set/a "md=31-!(m-5)-!(m-7)-!(m-10)-!(m-12)-!(m-3)*(3-!(y&3))"
set/a d+=md,m-=1
if %m% equ 0 set/a m=12,y-=1
if %d% leq 0 goto :ov
:ok
set/a md=m*100+d+10000
set "ymd=%y%%md:~1%"
echo %n% 天迟数前日期为%ymd%
set "s=20[0-9][0-9][0-1][0-9][0-3][0-9]"
for /f "delims=" %%i in (
'dir/b^|findstr/ix "%s%\.txt"') do (
if "%%~ni"逗轮 leq "%ymd%" (del %%i&&echo %%i)
)
pause
@echo off
::在d:\测试文件夹中删除5天前以日期为主名的txt文件
cd/d "d:\测试文件夹"
set/a n=5
set/a y=%date:~,4%,m=1%date:~5,2%-100,d=1%date:~8,2%-100
set/a d-=n
if %d% gtr 0 goto :ok
:ov
set/a "md=31-!(m-5)-!(m-7)-!(m-10)-!(m-12)-!(m-3)*(3-!(y&3))"
set/a d+=md,m-=1
if %m% equ 0 set/a m=12,y-=1
if %d% leq 0 goto :ov
:ok
set/a md=m*100+d+10000
set "ymd=%y%%md:~1%"
echo %n% 天迟数前日期为%ymd%
set "s=20[0-9][0-9][0-1][0-9][0-3][0-9]"
for /f "delims=" %%i in (
'dir/b^|findstr/ix "%s%\.txt"') do (
if "%%~ni"逗轮 leq "%ymd%" (del %%i&&echo %%i)
)
pause
展开全部
@echo off
::在d:\测试文件夹中删除5天前以日期为主名的txt文件
cd/d "d:\测试文件夹"
set/a n=5
set/a y=%date:~,4%,m=1%date:~5,2%-100,d=1%date:~8,2%-100
set/a d-=n
if %d% gtr 0 goto :ok
:ov
set/a "和明md=31-!(m-5)-!(m-7)-!(m-10)-!(m-12)-!(m-3)*(3-!(y&3))"
set/a d+=md,m-=1
if %m% equ 0 set/a 咐缺m=12,y-=1
if %d% leq 0 goto :ov
:ok
set/a md=m*100+d+10000
set "ymd=%y%%md:~1%"
echo %n% 天前日期为%ymd%
set "s=20[0-9][0-9][0-1][0-9][0-3][0-9]"
for /f "delims=" %%i in (
'dir/b^|findstr/ix "%s%\.txt"') do (
if "%%~ni" leq "%ymd%" (del %%i&&echo %%i) 唤简告
)
pause
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
@echo off
cd/d "C:\test\"
set /a y=%date:~,4%,m=1%date:~5,2%-100,d=1%date:~8,2%-100
set /a "m=(m+9)%%12+4,y-=M/14,n=5"
set /a "JD=1461*Y/4+153*M/5+d-n,i=(JD*4-489)/液唤1461,d=jd-1461*i/4,j=d*100/3061,d-=153*j/5-100,i+=j/14,j-=j/14*12-99"
set "瞎桐str=%i%%j:~-2%%d:~-2%.txt"
for /磨埋坦f %%i in ('dir/b 201*.txt') do echo if "%%i" leq "%str%" del "%%i"
pause
cd/d "C:\test\"
set /a y=%date:~,4%,m=1%date:~5,2%-100,d=1%date:~8,2%-100
set /a "m=(m+9)%%12+4,y-=M/14,n=5"
set /a "JD=1461*Y/4+153*M/5+d-n,i=(JD*4-489)/液唤1461,d=jd-1461*i/4,j=d*100/3061,d-=153*j/5-100,i+=j/14,j-=j/14*12-99"
set "瞎桐str=%i%%j:~-2%%d:~-2%.txt"
for /磨埋坦f %%i in ('dir/b 201*.txt') do echo if "%%i" leq "%str%" del "%%i"
pause
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
@echo off
for /f "skip=5" %%i in ('做颤dir/b/o-d 2013*.txt') 瞎胡亏磨神do del "%%i"
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询