此问题之前已被问过,我引用与Suggested here相同的答案。但事实是,这在Windows 7终极版中运行良好,而相同的代码在Windows Server 2008 R2中无法正常工作。如果找到任何比特定日期更早的文件,它会从文件夹中删除所有文本文件,但如果找不到任何比特定日期更早的文本文件,它就不会做任何事情。 命令如下;
REM Remove text files older than 5 days
forfiles -p "E:\Backups" -s -m *.* -d -5 -c "cmd /c del E:\Backups\*.txt"
我也见过其他帖子,但我无法在其中找到这个特殊问题。如果有人在此之前遇到过这种情况,或者我在这里做错了,请建议解决方案,谢谢。
答案 0 :(得分:5)
将E:\Backups\*.txt
替换为@path
。
forfiles -p "E:\Backups" -s -m *.* -d -5 -c "cmd /c echo del @path"
如果您对自己想做的事感到满意,请删除echo
。有关命令中可用的@variables的完整详细信息,请参阅forfiles /?
。 @path
的文档有点令人困惑。 @path
会返回已经引用的完全限定的drive:\path\to\filename.ext
。