自动删除30天前文件批处理方法

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

@echo off

setlocal enabledelayedexpansion

call:del30 "e:\admin"

goto :eof

:del30

call:getdate date

call:date2day date

pushd "%~1"

if /i not "!cd!"=="%~f1" exit /b 1

for /f "delims=" %%i in ('dir /a:-d /b') do (

set "datei=%%~ti"

call:getdate datei

call:date2day datei

set /a "date30=!date.num!-30"

if !datei.num! lss !date30! del /f "%%i"

)

exit /b 0

:date2day

set /a "%~1.num=0"

set /a "%~1.num+=(!%~1.y!-1)*365+(!%~1.y!-1)/4-(!%~1.y!-1)/100+(!%~1.y!-1)/400"

set /a "d=28+^!(!%~1.y!%%4)-^!(!%~1.y!%%100)+^!(!%~1.y!%%400)"

set /a "m=0"

for %%i in (31 !d! 31 30 31 30 31 31 30 31 30 31) do (

set /a "m+=1"

if !%~1.m! gtr !m! set /a "%~1.num+=%%i"

)

set /a "%~1.num+=!%~1.d!"

exit /b

:getdate

set "%~1.y=!%~1:~0,4!"

set "%~1.m=!%~1:~5,2!"

set "%~1.d=!%~1:~8,2!"

set /a "%~1.y=10000!%~1.y!%%10000"

set /a "%~1.m=10000!%~1.m!%%10000"

set /a "%~1.d=10000!%~1.d!%%10000"

exit /b

注:复制以上代码到TXT文档编辑为BA T即可。红色字体表示天数,蓝色为地址。

用ntbackup加Windows任务计划来实现自动删30天(30天为例,可根据实际情况更改)。方法跟用ntbackup加Windows任务计划来实现自动备份一样。

相关文档
最新文档