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

    1.直接看脚本在win2008测试可用

    ::clean logs
    @echo off
    title clean up logs
    
    ::delete logs
    FORFILES /P "D:Logs" /S /M *.log* /D -7 /C "cmd /c echo deleting..@file.. &del @file"
    
    pause

    2.列出几个参考吧,forfiles的版本不一致会导致很多不一样的问题

    forfiles:

    /p 指定的路径 
    /s 包括子目录 
    /m 查找的文件名掩码 
    /d 指定日期,有绝对日期和相对日期, 此处-7指当前日期 的7天前   


    /c 运行的命令行   表示为每个文件执行的命令。命令字符串应该
                            用双引号括起来。

                            默认命令是 "cmd /c echo @file"。下列变量
                            可以用在命令字符串中:
                            @file    - 返回文件名。
                            @fname   - 返回不带扩展名的文件名。
                            @ext     - 只返回文件的扩展。
                            @path    - 返回文件的完整路径。
                            @relpath - 返回文件的相对路径。
                            @isdir   - 如果文件类型是目录,返回 "TRUE";
                                       如果是文件,返回 "FALSE"。
                            @fsize   - 以字节为单位返回文件大小。
                            @fdate   - 返回文件上一次修改的日期。
                            @ftime   - 返回文件上一次修改的时间。

    示例
    要列出驱动器 C: 上的所有批处理文件,请键入:

    forfiles /p c: /s /m*.bat /c"cmd /c echo @file is a batch file"

    要列出驱动器 C: 上的所有目录,请键入:

    forfiles /p c: /s /m*.* /c"cmd /c if @isdir==true echo @file is a directory"

    要列出驱动器 C: 上存在时间多于 100 天的所有文件,请键入:

    forfiles /p c: /s /m*.* /dt-100 /c"cmd /c echo @file :date >= 100 days"

    要列出驱动器 C: 上 1993 年 1 月 1 日以前创建的所有文件,而且对于日期早于 1993 年 1 月 1 日的文件显示“file is quite old!”,请键入:

    forfiles /p c: /s /m*.* /dt-01011993 /c"cmd /c echo @file is quite old!"

    要按列格式列出驱动器 C: 上所有文件的扩展名,请键入:

    forfiles /p c: /s /m*.* /c "cmd /c echo extension of @file is 0x09@ext0x09" With:

    要列出驱动器 C: 上的所有批处理文件,请键入:

    forfiles /p c: /s /m *.bat /c "cmd /c echo @file is a batch file"

    要列出驱动器 C: 上的所有目录,请键入:

    forfiles /p c: /s /m *.* /c "cmd /c if @isdir==true echo @file is a directory"

    要列出驱动器 C: 上存在时间多于 100 天的所有文件,请键入:

    forfiles /p c: /s /m *.* /d t-100 /c "cmd /c echo @file :date >= 100 days"

    要列出驱动器 C: 上 1993 年 1 月 1 日以前创建的所有文件,而且对于日期早于 1993 年 1 月 1 日的文件显示“file is quite old!”,请键入:

    forfiles /p c: /s /m *.* /d t-01011993 /c "cmd /c echo @file is quite old!"

    要按列格式列出驱动器 C: 上所有文件的扩展名,请键入:

    forfiles /p c: /s /m*.* /c "cmd /c echo extension of @file is 0x09@ext0x09"

  • 相关阅读:
    navicat 连接 mysql 出现Client does not support authentication protocol requested by server解决方案
    oracle的concat、convert、listagg函数(字符串拼接和类型转换)
    oracle的decode、sign、nvl,case...then函数
    where、having区别
    Oracle的rollup、cube、grouping sets函数
    IP地址,子网掩码,网段表示法,默认网关,DNS服务器详解,DNS域名设计
    springmvc 参数解析绑定原理
    eclipse运行mapreduce的wordcount
    linux命令帮助 man bash
    shell学习笔记3-后台执行命令
  • 原文地址:https://www.cnblogs.com/oskb/p/9467264.html
Copyright © 2011-2022 走看看