[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖

[文件操作] 批处理如何删除某个文件夹里指定天数前的文件?

比如我想删除D盘 01文件夹下30天之外的文件,各位有好的批处理吗?
不胜感激
1

评分人数

forfiles /?

TOP

本帖最后由 ivor 于 2016-2-18 21:56 编辑

回复 1# ai_hinemon

下面的2种方法都是以访问时间为准
PowerShell代码:-2则为2天前访问的文件或者文件夹,用之前请先去掉del命令,确保准确再加上


dir 返回的对象,其中有2个属性,LastAccessTime和LastWriteTime
  1. $delFile = dir | ?{$_.LastAccessTime -gt ((Get-date).AddDays(-2))}
  2. del $delFile
复制代码
建议慢慢转向powershell,cmd不支持对象,好多功能实现太麻烦。

python:支持拖拽文件夹
  1. import os,sys,time
  2. #days设定为多少天之前
  3. days=2
  4. if len(sys.argv) < 2:
  5.     path=input("enter a path:")
  6. else:
  7.     path=sys.argv[1]
  8. listfile=os.listdir(path)
  9. for line in listfile:  
  10.     statinfo=os.stat(r"%s\%s"%(path,line))
  11.    
  12.     if ((time.time()/86400) - (statinfo.st_atime/86400)) > days:
  13.         print("%s\%s"%(path,line))
  14.         os.popen("del %s\%s"%(path,line))
  15.     else:
  16.         print("%s"%(line))
  17. input("press any key to continue")
复制代码

TOP

返回列表