zoukankan      html  css  js  c++  java
  • Windows 删除指定N天前的文件

    工作中,往往备份的数据很多,有时候把磁盘都干没了,系统无法运行了才知道空间没了,所有我们需要定期清理过期的备份数据,Windows下bat批处理,自动获取文件的最后修改时间,然后将指定多少天之前的文件删除,需要Windows支持forfiles命令,XP及以上系统都自带forfiles命令;详情如下:

    1.在本地新建一个del.txt,将一下代码复制进去, 然后将扩展名改为bat格式。

    @echo 删除指定路径下指定N天前的文件  
    @echo off
    @echo.----------------------------------------------------------------------
    @echo.**********************************************************************
    @echo.   温馨提醒:
    @echo.      1.以管理员身份运行
    @echo.      2.以文件的最后修改日期为准
    @echo.      3.需要系统自带的forfiles命令的支持
    @echo.      4.使用时请先测试,删除的数据不可恢复
    @echo.      5.如果测试结果无误,把del前面的echo去掉,即可实现真正删除
    @echo.----------------------------------------------------------------------
    @echo.
    
    rem 指定待删除文件的存放路径
    set SrcDir=E:	est
    rem 指定几天前的文件
    set DaysAgo=7
    @echo.----------------------------------------------------------------------
    @echo 正在扫描 %SrcDir%路径下%DaysAgo%天前的备份文件......
    
    rem 下面命令为真正删除符合条件的文件日志记录
    forfiles /p %SrcDir% /s /m *.* /d -%DaysAgo% /c "cmd /c echo  正在删除 del /f /q /a  @path"  >>./%DATE:~0,4%%DATE:~5,2%%DATE:~8,2%%time:~0,2%%time:~3,2%.log
    
    @echo.
    @echo 正在删除文件中......
    
    rem 下面命令为真正删除符合条件的文件且不可恢复
    forfiles /p %SrcDir% /s /m *.* /d -%DaysAgo% /c "cmd /c echo del /f /q /a  @path"  
    @echo 删除已完成,若想查看具体删除了哪些文件请看本地删除日志
    @echo.
    pause exit

    测试如下:

    我们需要删除E: est路径下7天前的所有文件

     执行del.bat结果如下:

    我们再看看文件下是否真正删除了符合条件的:

    is ok !

    如果需要备份+删除的批处理文件的话,只需要在上边代码倒数第二行中添加一个备份命令即可。

    如下:

    @echo 正在备份数据中......
    EXPDP 用户/密码@数据库IP/实例名 schemas=用户 directory=DATA_PUMP_DIR dumpfile=BDCDJ%DATE:~0,4%%DATE:~5,2%%DATE:~8,2%%time:~0,2%%time:~3,2%.dmp logfile=BDCDJ%DATE:~0,4%%DATE:~5,2%%DATE:~8,2%%time:~0,2%%time:~3,2%.log
    @echo 数据备份已完成!
    @echo.

    我们可以在机器上创建一个定时计划任务,每天自行执行脚本判断清理过期的备份数据。

    1.  开始-->所有程序-->附件-->系统工具-->任务计划程序
    2.  任务计划程序(本地)-->任务接话程序库-->创建基本任务-->
    3.  输入 名称:  描述:点击下一步
    4.  触发器:设置周期
    5.  设置详细时间
    6.  操作选择 启动程序
    7.  选择要执行的bat脚本就是上面所写好的脚本
    8.  点击完
    注:验证是否能够成功执行计划任务,在计划任何的执行界面中配置的启动时间提前当前时间2分钟,待显示上次成功执行(0X0返回码表示成功执行)以后确认定时任务可以成功执行。
  • 相关阅读:
    SQLAlchemy技术文档(中文版)(全)
    Python 学习 第17篇:sqlalchemy 读写SQL Server数据库
    环境:Pycharm2019.1 + Win10 + Python3.7.3
    PyInstaller打包python脚本的一些心得
    Python GUI之tkinter窗口视窗教程大集合(看这篇就够了)
    简单使用xlwt
    python xlwt写入excel操作
    Python中xlrd模块解析
    python使用pip离线安装库
    pip的基本使用和离线安装Python第三方库
  • 原文地址:https://www.cnblogs.com/su-root/p/12348178.html
Copyright © 2011-2022 走看看