有时我们需要自动删除一些无用的旧文件,防止磁盘不被写满,只保留最新文件,这时候这个批处理可以帮我们实现。
@echo offset p=D:\test\source\FOR /F "skip=1 tokens=*" %%i IN ('DIR /B /A-D /O-D "%p%"') DO DEL /F "%p%%%i"
简单解释,skip= 参数指定在文件开始时忽略的行数,这里我们用1就是跳过一行。'DIR /B /A-D /O-D "%p%"'显示指定目录下的文件名,其中/B参数表示只显示文件名和文件夹名,/A-D表示不显示目录,/O-D表示按时间从近到远排序,这可以保持最新的文件在第一行。经过这个批处理后,目录下只剩下一个最新的文件。