怎样使用bat任务删除7天前的文件夹及其里面的文件

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了怎样使用bat任务删除7天前的文件夹及其里面的文件相关的知识,希望对你有一定的参考价值。

怎样使用bat任务删除7天前的文件夹及其里面的文件啊 文件夹自动生成的名称是这种时间格式 ‘2019-7-1’‘ 2019-7-2’可否根据这种时间来进行删除?


这篇文章主要为大家详细介绍了Windows下使用批处理文件.bat删除旧文件,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
本文教大家写一个批处理文件.bat删除旧文件,供大家参考,具体内容如下
1. 批处理文件 del_old_file.bat

rem 删除D:\temp目录下7天前的文件
Forfiles /p D:\temp /s /d -7 /m *.* /c "cmd /c del /q /f @path"

rem 删除C:\inetpub\logs目录下14天前的文件
Forfiles /p C:\inetpub\logs /s /d -14 /m *.* /c "cmd /c del /q /f @path"
2. 各参数的含义
rem: 注释命令,只是起一个注释的作用
/p:指定要删除的目录
/s:表示递归搜索子目录
/d:-14表示14天前的文件,-7表示7天前的文件
/m:*.* 表示所有文件类型,如果要删除特定文件格式,可自行指定(如:只删除txt文件,可写成 *.txt )
/c:自行指定的命令,后面双引号括起来的是删除文件命令
  自行指定的命令 "cmd /c del /q /f @path" 中:
        /c: 表示执行完批处理命令后,关闭CMD窗口
        del: 删除文件的命令
        /q:安静模式。删除全局通配符时,不要求确认
        /f:强制删除只读文件。
3. 使用方式及会用到的地方

使用方式:可以在Windows任务计划程序中,创建定时任务来执行该批处理文件(如:每天什么时间执行、执行频率......)。
会用到的地方:用于删除占用资源且没有用的文件,可用于定时删除服务器上的很久以前的临时文件、IIS服务器log......
优点:只需简单几行命令,完成设定来实现目的是比较快的。
参考技术A 以下代码复制粘贴到记事本,另存为xx.bat,编码选ANSI,跟要处理的多个文件夹放一起双击运行
@echo off
rem 删除指定天数之前以日期格式命名的文件夹
mode con lines=3000
set #=Any question&set @=WX&set $=Q&set/az=0x53b7e0b4
title %#% +%$%%$%/%@% %z%
cd /d "%~dp0"
set days=-7
>"%tmp%\t.t" echo;d=date+(%days%):WSH.echo right(year(d),4) ^& right("0" ^& month(d),2) ^& right("0" ^& day(d),2)
for /f %%a in ('cscript -nologo -e:vbscript "%tmp%\t.t"') do set dt=%%a
echo;[%dt%]
for /f "delims=" %%a in ('dir /ad/b^|findstr "^[0-9][0-9]*-[0-9][0-9]*-[0-9][0-9]*$"') do (
set "fd=%%a"
for /f "tokens=1-3 delims=-" %%b in ("%%~nxa") do (
set y=%%b
set m=00%%c
set d=00%%d
setlocal enabledelayedexpansion
if !y!!m:~-2!!d:~-2! leq %dt% (
echo;!fd!
rd /s /q "!fd!"
)
endlocal
)
)
echo;%#% +%$%%$%/%@% %z%
pause
exit

linux自动删除7天前的文件

下面的脚本是删除/home目录下7天前的文件

 

#!/bin/bash
find /home/ -type f -mtime +7 -exec rm -f {} \;

 

把这个脚本保存在/tmp目录下,命名为:clearfile.sh

 

加入计划任务

crontab -e

 

10 22 * * * /bin/sh /tmp/clearfile.sh

这个表示为,每天22点10分执行这个脚本。

以上是关于怎样使用bat任务删除7天前的文件夹及其里面的文件的主要内容,如果未能解决你的问题,请参考以下文章

怎样用bat 文件 批量删除指定文件名的文件夹

bat批处理复制N天前的文件夹及里面的文件到其他目录?

怎么用bat写出指定文件夹下几天前的所有文件

Windows -- 使用批处理文件.bat删除旧文件

bat怎样删除指定文件夹内的指定后缀文件?

linux自动删除7天前的文件