删除超过X天的文件夹后,我收到错误

时间:2015-08-04 14:45:25

标签: batch-file cmd

我使用了这个命令:

FORFILES /S /D -10 /C "cmd /c IF @isdir == TRUE rd /S /Q @path"

删除超过10天的所有文件夹, 它工作正常。

问题是我收到错误而且我的构建失败了:

错误:系统找不到指定的文件。

我需要能够以ERRORLEVEL = 0退出。

1 个答案:

答案 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来生成旧文件列表,然后对其进行处理:获取每个文件的文件夹路径,如果它仍然存在则将其删除。

相关问题