我使用了这个命令:
FORFILES /S /D -10 /C "cmd /c IF @isdir == TRUE rd /S /Q @path"
删除超过10天的所有文件夹, 它工作正常。
问题是我收到错误而且我的构建失败了:
错误:系统找不到指定的文件。
我需要能够以ERRORLEVEL = 0退出。
答案 0 :(得分:0)
在命令前添加echo
以查看错误(可能是在尝试删除已删除文件夹的子文件夹):
FORFILES /S /D -10 /C "cmd /c IF @isdir==TRUE echo @path & rd /S /Q @path"
或者您可以通过明确检查文件夹是否存在来简单地使其成为防范:
FORFILES /S /D -10 /C "cmd /c IF @isdir==TRUE if exist @path rd /S /Q @path"
BTW,forfiles
方法似乎不可靠,因为没有为其“孙子”文件更新文件夹日期。我会在列表模式下使用robocopy来生成旧文件列表,然后对其进行处理:获取每个文件的文件夹路径,如果它仍然存在则将其删除。