@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
转载于:https://blog.51cto.com/gzzhang/1546852