• windows下自动删除n天前的文件


    使用windows2003下的内置命令forfiles配合计划任务可以实现自动删除n天前的文件。

    windows2003中设定自动执行的计划任务很简单。

     一、脚本编写

    forfiles命令用法:

    Forfiles

    从文件夹或树中选择要进行批处理的文件。

    语法

    forfiles [/p Path] [/m SearchMask] [/s] [/c Command] [/d[{+ | -}] [{MM/DD/YYYY | DD}]]

    参数

    /p Path
    指定 Path,表明要从哪里开始搜索。默认的文件夹是当前工作目录,该目录通过键入句号 (.) 指定。
    注:绝对路径应该包含在双引号中,且路径应该由反斜杠分割:example:"D:HOMEDesktop62backup"
    /m SearchMask
    按照 SearchMask 搜索文件。默认的 SearchMask 是 *.*
    /s
    指示 forfiles 在子目录中搜索。
    /c Command
    在每个文件上运行指定的 Command。带有空格的命令字符串必须用引号括起来。默认的 Command 是 "cmd /c echo @file"
    /d[{+ | -}] [{MM/DD/YYYY | DD}]
    选择日期大于或等于 (+)(或者小于或等于 (-))指定日期的文件,其中 MM/DD/YYYY 是指定的日期,DD 是当前日期减去 DD 天。如果未指定 + 或-,则使用 +DD 的有效范围是 0 - 32768。
    /?
    在命令提示符下显示帮助。

    注释

    • Forfiles 最常用于批处理文件中。
    • Forfiles /s 与 dir /s 类似。
    • 下表列出了在 /c Command 命令字符串中能够使用的变量。
      变量描述
      @file 文件名
      @fname 无扩展名的文件名
      @ext 文件扩展名
      @path 文件的完整路径
      @relpath 文件的相对路径
      @isdir 如果文件类型是目录,值为 TRUE,否则值为 FALSE
      @fsize 用字节表示的文件大小
      @fdate 文件中上次修改的日期戳
      @ftime 文件中上次修改的时间戳
    • 使用 forfiles,可以在多个文件上运行命令或将参数传递给多个文件。例如,可以在树中带有 *.txt 扩展名的所有文件上运行 TYPE 命令。或者,可以用文件名“Myinput.txt”作为第一个参数,在 C:/ 驱动器上执行每个批处理文件 (*.bat)。
    • 通过使用 forfiles,可以执行下列任何操作:
      • 使用 /d 按照绝对或相对日期选择文件。
      • 使用诸如 @fsize(文件大小)和 @fdate(文件日期)这样的变量构建文件的存档树。
      • 使用 @isdir 变量区分文件和目录。
      • 通过在命令行中包含特殊字符和使用十六进制代码 0xHH 环绕字符来格式化输出内容。
    • Forfiles 通过在旨在仅处理单个文件的工具上执行“循环子目录”标记来发挥作用。

    示例

    自动删除d:/test下超过7天的.bak的文件

    forfiles /p "d:/test" /s /m *.bak /d -7 /c "cmd /c del @path"

    要列出驱动器 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"

    格式化图例

    格式含义
    斜体 用户必须提供的信息
    粗体 用户必须准确键入的要显示的元素
    省略号 (...) 在命令行中可多次重复的参数
    中括号 ([]) 可选项
    大括号 ({});选项用竖线 (|) 分隔。例如:{even|odd} 用户必须从选项集合中选择一个
    Courier 字体 代码或程序输出

    二、配置计划任务

      

        开始-->所有程序-->附件-->系统工具-->任务计划程序
     
        任务计划程序(本地)-->任务接话程序库-->创建基本任务-->
     
        输入 名称:  描述:点击下一步
     
        触发器:设置周期
     
        设置详细时间
     
        操作选择 启动程序
     
        选择要执行的bat脚本就是上面所写好的脚本
     
        点击完成
     
        详细的属性,可以勾选则点击完成时弹出属性对话框进行对每一项详细的设置。
      参考:http://www.jb51.net/os/windows/58393.html
      三、验证是否能够成功执行计划任务
      在计划任何的执行界面中配置的启动时间提前当前时间2分钟,待显示上次成功执行(0X0返回码表示成功执行)以后确认定时任务可以成功执行。
    注:(一)在创建计划任务调用的bat文件时可能出现中文乱码现象,原因是在创建bat文件时不是设置的ANSI编码,只有ANSI编码才能支持中文。
      创建支持中文的bat文件的方法:
      1、面对这个情况是编码不同问题,所以在最开始就应该把编码修正,支持中文的编码是ANSI。我们第一步是新建一个txt文件。
      2、然后点击新建的文本文档,然后选择“文件”=》“另存为”
      3、cmd中的编码方式为ANSI,若中文不是此编码方式则会出现乱码。所以我们在编码的时候选择“ANSI”
      4、然后把上面的代码重新输入到我们保存的文件,重名命为.bat的文件
      (二)创建的bat脚本双击执行时只在屏幕一闪而过,不能查看调试时的错误信息解决方法
      1、执行cmd命令
      2、进入到bat文件所在的目录
      3、执行bat文件。bat文件的执行结果就会成功显示在dos界面上,这样可以调试bat脚本和查看脚本中的错误信息,以便修改脚本语句。
     
     
  • 相关阅读:
    堆排序
    深入理解创建类设计模式(Creational Patterns)
    (Head First)设计模式基础
    SpringMVC中的适配器模式应用
    软工团队任务
    visio画UML用例图
    安卓架构设计
    结对项目编程之代码进展
    工大助手(爬虫——查成绩部分)
    设计模式
  • 原文地址:https://www.cnblogs.com/moonfans/p/4384083.html
Copyright © 2020-2023  润新知