删除7天以前文件

2016年1月11日 0 条评论 460 次阅读 0 人点赞

@echo off
setlocal enabledelayedexpansion
rem by sevenfal ‎2010‎年‎9‎月‎13‎日
title 删除7天以前文件
::打开你的系统盘,查看方式为详细信息,在'修改日期'一栏可以看到日期分隔符
::此p运行环境xp,若运行于其他环境,则打开你的系统盘,查看方式为详细信息,在'修改日期'一栏可以看到日期分隔符,修改'set a=!a:-=!'中'-'号为你所看到的日期分隔符,比如win7则为/,则改为'set a=!a:/=!',第一个for里面的'delims=-'语句中'-'为分隔符,以wind.txt内日期分隔符为准
set ph=D:\My Documents\桌面\temp\dil
set d=%date:~0,10%
rem 当前日期做减法,减去7天
mshta vbscript:createobject("scripting.filesystemobject").opentextfile("wind.txt",2,true).writeline(dateadd("d",-7,"%d%"))(window.close)
rem 日期格式整理
for /f "tokens=1,2,3 delims=-" %%a in (wind.txt) do (
  rem 如果是10月以下,则表示为比如01
  set/a num=%%b-10
  if !num! lss 0 (set month=0%%b) else (set month=%%b)
  rem 如果是10号以下,则表示为比如01
  set/a num=%%c-10
  if !num! lss 0 (set date1=0%%c) else (set date1=%%c)
  set tt=%%a!month!!date1!
)
for /r "%ph%" %%i in (*) do (
rem 对指定目录内文件获取日期并处理日期格式
set a=%%~ti
set a=!a:~0,10!
set a=!a:-=!
if !a! lss %tt% (del /a /f /s /q "%%i")
)
echo 已删除%ph%内7天以前文件!
pause 

Sevenfal

这个人太懒什么东西都没留下

文章评论(0)