删除文件夹名称中包含通配符且早于 x 天的文件夹

删除文件夹名称中包含通配符且早于 x 天的文件夹

我需要删除daily30 天后所有以 开头的文件夹及其内容,以及 365 天后所有以 开头的文件夹及其内容monthly。不幸的是,每日和每月备份必须放在同一个文件夹中。
这是我尝试使用的脚本,但它不喜欢通配符。有什么建议吗?

forfiles -p u:\backups\daily* -d 30 -c "cmd /c IF @isdir == TRUE rd /S /Q @path"
forfiles -p u:\backups\monthly* -d 365 -c "cmd /c IF @isdir == TRUE /rd /S /Q @path"

答案1

您需要使用匹配参数:

 forfiles -p u:\backups -m daily* -d 30 -c "cmd /c IF @isdir == TRUE rd /S /Q @path"
 forfiles -p u:\backups -m monthly* -d 365 -c "cmd /c IF @isdir == TRUE /rd /S /Q @path"

相关内容