@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