首页 > 代码库 > 自动删除指定文件夹下N天前文件的批处理

自动删除指定文件夹下N天前文件的批处理

@echo off
if not exist d:\delFiles goto EOF
rem 定义文件夹‘数组‘ 
set folders[0]=folder1
set folders[1]=folder2
set folders[2]=folder3
rem 如果D:\delFiles下改变文件夹,请修改上面‘数组‘

set sday=-3

rem 删除D:\delFiles下的sday天前建的文件,修改天数请修改上面的sday
ForFiles /P D:\delFiles /D %sday% /S /c "cmd /c del @path /q"

rem 循环删除上面‘数组‘文件夹里sday天前建的文件夹
rem 如果目录不存在,ForFiles会跳过并返回提示错误:指定的目录不存在
for /F "tokens=2 delims==" %%s in (‘set folders[‘) do (
ForFiles /P D:\delFiles\%%s /D %sday% /S /C "CMD /C if @ISDIR==TRUE echo RD /S /Q @FILE &RD /S /Q @FILE"
)
exit
:EOF
EXIT

某些地方用批处理还是挺合适的,例如公司里的扫描文件夹,简单实用。


参考来源:

http://superuser.com/questions/191224/populating-array-in-dos-batch-script


本文出自 “暂时博客” 博客,请务必保留此出处http://gzzhang.blog.51cto.com/5312382/1546852

自动删除指定文件夹下N天前文件的批处理