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)这样的,该添加什么脚本呢?麻烦知道的大神说下,小弟在此谢过了! 展开
 我来答
机电孙权
2015-05-26 · TA获得超过3990个赞
知道小有建树答主
回答量:1231
采纳率:79%
帮助的人:795万
展开全部
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
yyykkkyyyy
2013-08-28 · TA获得超过3136个赞
知道大有可为答主
回答量:2691
采纳率:40%
帮助的人:3291万
展开全部
@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
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
terseness
2013-08-29
知道答主
回答量:19
采纳率:0%
帮助的人:8.7万
展开全部
@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
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
sudoku52
2013-08-28 · TA获得超过7万个赞
知道大有可为答主
回答量:1.2万
采纳率:82%
帮助的人:4859万
展开全部
@echo off
for /f "skip=5" %%i in ('做颤dir/b/o-d 2013*.txt') 瞎胡亏磨神do del "%%i"
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式