我想写一个批处理文件来清理我的下载文件夹,删除其中的所有内容除了今天创建的文件和文件夹。 感谢。
答案 0 :(得分:1)
如果您使用的是现代Windows,建议您使用forfiles,
文件夹仍然可能很乱。你想根据目录本身的时间戳来做吗?是否要以递归方式处理所有文件夹,根据日期删除文件,然后删除文件夹(如果在删除给定年龄的文件后为空)。您的问题还有其他合理的解释。就个人而言,我使用python脚本,所以我可以使文件清理完全符合我的要求。这也可能是Uriil建议PowerShell的原因。
可以说,Windows Services for Unix downloadable from Microsoft将被视为公平游戏(允许使用Johnride提到的find命令)。如果您使用此功能,请确保Johnride建议符合您的实际意图。对于find命令,使用选项-print而不是-exec非常适合调试
如果您可以使用forfiles,那么article may give what you want.我可以使用文章中的forfiles自行粘贴批处理文件解决方案。
@echo off
:: set folder path
set dump_path=c:\shares\dump
:: set min age of files and folders to delete
set max_days=1
:: remove files from %dump_path%
forfiles -p %dump_path% -m *.* -d -%max_days% -c "cmd /c del /q @path"
:: remove sub directories from %dump_path%
forfiles -p %dump_path% -d -%max_days% -c "cmd /c IF @isdir == TRUE rd /S /Q @path"