批处理删除n天前的文件和文件夹

如题所述

我的思路是 用dir for if 这三个命令 先用dir显示出所有文件的生成时间 之后用for处理下 去掉dir开头判断的盘符什么的 之后把时间留下来 在套上if进行对比 比如说今天10号 把时间跟7比较 那么小于7的进行删除 具体不怎么会写 刚刚接触到for命令 可以互相探讨
温馨提示:内容为网友见解,仅供参考
第1个回答  2013-09-18
@echo off
setlocal enabledelayedexpansion
for /f "tokens=1,2,3 delims=-" %%i in ('echo %date%') do (
set d=%%i%%j%%k
set /a d1=!d!-3
for /f "tokens=*" %%a in ('dir /b /s e:\data\') do (
set var=%%~ta
set var1=!var:~0,10!
if "!var1!" LEQ "!d1!" (
del "%%a" /f /s /q
rd "%%a" /s /q
)
)
)本回答被网友采纳

请问:如何批处理删除文件夹及其所有子文件夹下N天前所有文件?
根据这个思路.先删除30天以前的文件夹.再删除30天以内文件夹下所有30天以前的文件.那么就结果就如下:forfiles -D -30 \/M * \/C "cmd \/c rd @file \/s \/q"forfiles -D -30 \/S \/M * \/C "cmd \/c del @path \/s \/q"两行批处理即可搞定 ...

如何删除指定目录中超过N天的文件和文件夹?用批处理命令实现,谢谢!_百...
echo off set \/a n=10 set p=d:\\test cd \/d %p echo aa=dateadd("d",-%n%,now)>t.vbs echo CreateObject("WScript.Shell").Run "cmd \/c echo "^&aa^&">t.txt",0,ture>>t.vbs t.vbs for \/f "tokens=1-3 delims=- " %%i in (t.txt) do set y=%%i&set h=%%j&set...

XP系统下 如何DOS删除N天前建立的文件夹 求批处理命令。
1.用dir >>1.txt 将需要访问的目录 下所有文件夹信息导入到1.txt中。不包含隐藏文件 2.利用for \/f 命令来提取 文件夹的创建时间日期 3.利用date命令来查处当天日期,然后减去5天则为需要删除的日期 4.利用for \/f命令来检测文件中符合3中创建日期的文件进行删除 ...

删除指定目录下N天前的文件bat文件。并且能在windows server 2008下能...
代码出自,批处理之家 echo off ::演示:删除指定路径下指定天数之前(以文件的最后修改日期为准)的文件。::如果演示结果无误,把del前面的echo去掉,即可实现真正删除。::本例调用了临时VBS代码进行日期计算 ::本例为兼容不同的日期格式,调用reg命令(XP系统自带)统一设置日期格式,::处理完毕之后...

如何用DOS命令删除N天以前的文件
选择一个文件(或一组文件)并在那个文件上 执行一个命令。这有助于批处理作业。参数列表:\/P pathname 表示开始搜索的路径。默认文件夹是当前工作的 目录 (.)。\/M searchmask 根据搜索掩码搜索文件。默认搜索掩码是 '*'。\/S 指导 forfiles 递归到子目录。像 "DIR \/S"。\/C comm...

用批处理按系统最后一次修改日期将文件夹a的n天前文件,剪切到另一文...
"%~0"&pause&exitset fso=createobject("scripting.filesystemobject")n=3 '3天以前的文件b="文件夹路径" '复制到b文件夹dof=wsh.stdin.readlined=datevalue(fso.getfile(f).datelastmodified)if d<=datevalue(dateadd("d",-n,now)) thenif not fso.folderexists(b) then wsh.echo "文件夹 -...

如何通过批处理实现自动删除三天前的文件?
每天产生的文件数是固定的吗?如果每天只产生一个文件,如下 echo on pushd r:\\test for \/f "tokens=1* delims=:" %%i in ('dir\/b\/o-d ^|findstr \/n .*') do if %%i gtr 3 del "%%j" \/f\/q 如果每天产生的文件数不固定,需要根据时间判断稍微麻烦一点,需要的话再追问吧。

批处理dos命令 删除文件夹及文件夹下所有文件,还有一个问题:如何终止一...
删除文件夹及里面的文件 rd \/s\/q c:\\\\123 删除C盘下的123文件夹及里面的文件 一般要暂停的话借用ping命令 ping 0.0.0.0 -n 5 >nul n后的5是时间 请自行调整

怎样利用批处理自动删除某路径下的过期文件夹
\\mybackup\\ 如果您是隔周运行,那么跳过3行应该就是删掉6周以前的文件夹。另外建议您把该批处理的调用加到您原来批处理的开始(call 路径\\mycleanup.bat),每次运行就可以默认清理了。该批处理如果想运行顺利,有个前提,就是您所有的日期文件夹,都是宽日期格式(yyyy-mm-dd),这样排序才对。

如何用DOS命令删除N天以前的文件
用DOS命令删除N天以前的文件具体如下:echo off set SrcDir=C:\\test >"%tmp%\\MyDel.vbs" echo dt=date()-x >>"%tmp%\\MyDel.vbs" echo s=right(year(dt),4) ^& right("0" ^& month(dt),2) ^& right("0" ^& day(dt),2)>>"%tmp%\\MyDel.vbs" echo wscript.echo s for...

相似回答