标题: [文件操作] 批处理如何删除某个文件夹里指定天数前的文件? [打印本页]
作者: ai_hinemon 时间: 2016-2-14 13:38 标题: 批处理如何删除某个文件夹里指定天数前的文件?
比如我想删除D盘 01文件夹下30天之外的文件,各位有好的批处理吗?
不胜感激
作者: ivor 时间: 2016-2-14 14:36
本帖最后由 ivor 于 2016-2-18 21:56 编辑
回复 1# ai_hinemon
下面的2种方法都是以访问时间为准
PowerShell代码:-2则为2天前访问的文件或者文件夹,用之前请先去掉del命令,确保准确再加上
dir 返回的对象,其中有2个属性,LastAccessTime和LastWriteTime
- $delFile = dir | ?{$_.LastAccessTime -gt ((Get-date).AddDays(-2))}
- del $delFile
复制代码
建议慢慢转向powershell,cmd不支持对象,好多功能实现太麻烦。
python:支持拖拽文件夹- import os,sys,time
-
-
- #days设定为多少天之前
- days=2
- if len(sys.argv) < 2:
- path=input("enter a path:")
- else:
- path=sys.argv[1]
- listfile=os.listdir(path)
-
- for line in listfile:
- statinfo=os.stat(r"%s\%s"%(path,line))
-
- if ((time.time()/86400) - (statinfo.st_atime/86400)) > days:
- print("%s\%s"%(path,line))
- os.popen("del %s\%s"%(path,line))
- else:
- print("%s"%(line))
-
- input("press any key to continue")
复制代码
作者: pcl_test 时间: 2016-2-14 16:35
forfiles /?
欢迎光临 批处理之家 (http://www.bathome.net/) |
Powered by Discuz! 7.2 |