适用范围
windows
问题概述
1. windows环境 2. 文件夹中的 文件/文件夹按名称排序 3. 只保留固定数量的 文件/文件夹,其它全部删除
问题原因
@echo off setlocal enabledelayedexpansion REM change the dir set "target_dir=D:\test" REM change file or dir limit set "maxFolders=7" REM change file or dir format set "fileFormat=full_*.dmp" REM change delete type: 0-dir, 1-file set "fileType=1" cd /d "%target_dir%" set "sortedFolders=" set "folderCount=0" set "checkFile=" if !fileType! == 1 ( set "checkFile=dir %fileFormat% /B/ON" ) else ( set "checkFile=dir %fileFormat% /AD /B /ON" ) for /F "delims=" %%D in ('%checkFile%') do ( set "sortedFolders=!sortedFolders! %%D" set /A "folderCount+=1" ) echo %sortedFolders% echo %checkFile% echo %folderCount% for %%D in (%sortedFolders%) do ( if !folderCount! GTR %maxFolders% ( if !fileType! == 1 ( del "%%D" ) else ( rd /S /Q "%%D" ) set /A "folderCount-=1" ) ) echo Done. endlocal
解决方案
REM change the dir set "target_dir=D:\test" REM change file or dir limit set "maxFolders=7" REM change file or dir format set "fileFormat=full_*.dmp" REM change delete type: 0-dir, 1-file set "fileType=1" 以上4个变量请根据需求修改,部署生产前请详细阅读代码及做好充足测试。
参考文档
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。




