找回密码
 注册
搜索
[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
查看: 25444|回复: 2

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

[复制链接]
发表于 2016-2-14 13:38:46 | 显示全部楼层 |阅读模式
比如我想删除D盘 01文件夹下30天之外的文件,各位有好的批处理吗?
不胜感激

评分

参与人数 1PB -4 收起 理由
pcl_test -4 未按版规发帖

查看全部评分

发表于 2016-2-14 14:36:29 | 显示全部楼层
本帖最后由 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")




复制代码
发表于 2016-2-14 16:35:29 | 显示全部楼层
forfiles /?
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|批处理之家 ( 渝ICP备10000708号 )

GMT+8, 2026-3-18 02:01 , Processed in 0.017977 second(s), 8 queries , File On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

快速回复 返回顶部 返回列表