Scripting 如何编写批处理文件以按时间删除文件夹和文件? 准确副本:

Scripting 如何编写批处理文件以按时间删除文件夹和文件? 准确副本:,scripting,batch-file,Scripting,Batch File,我想写一个批处理文件删除文件夹,子文件夹和临时文件的时间基础 条件如下: 我需要在当前运行时间前一小时将文件从文件夹中删除 我想从系统中获取当前时间,并删除文件前一小时的时间 文件格式如下: 时间格式为dd-mm-yyy-hh-mm或dd-mm-yy-hh-mm 批处理的功能惊人,但我不认为您想要的那种日期操纵是切实可行的 您可以使用FOR将日期拆分为元素,然后使用SET/A进行减法运算,但是您将需要大量的IF和GOTO语句来处理类似于从1月1日午夜半减去一小时的情况 我想你最好还是调查一下,

我想写一个批处理文件删除文件夹,子文件夹和临时文件的时间基础

条件如下:

  • 我需要在当前运行时间前一小时将文件从文件夹中删除
  • 我想从系统中获取当前时间,并删除文件前一小时的时间
  • 文件格式如下:
  • 时间格式为
    dd-mm-yyy-hh-mm
    dd-mm-yy-hh-mm

    • 批处理的功能惊人,但我不认为您想要的那种日期操纵是切实可行的

      您可以使用
      FOR
      将日期拆分为元素,然后使用
      SET/A
      进行减法运算,但是您将需要大量的
      IF
      GOTO
      语句来处理类似于从1月1日午夜半减去一小时的情况


      我想你最好还是调查一下,或者。

      你可能想试试这个脚本,从一个超过1小时的文件夹中删除文件

      # Script Delete1Hour.txt
      var str folder, list, file
      cd $folder
      lf -n "*" $folder ($ftype=="f") AND ( $fmtime < addtime(diff("-10000")) ) > $list
      while ($list <> "")
      do
          lex "1" $list > $file
          system del ("\""+$file+"\"")
      done
      
      它将删除C:/testfolder中超过1小时的所有文件。

      请参见>回答并相应调整。应该不难。它们显然不“精确”,因为它们都有不同的标题;)
      # Script Delete1Hour.txt
      var str folder, list, file
      cd $folder
      lf -n "*" $folder ($ftype=="f") AND ( $fmtime < addtime(diff("-10000")) ) > $list
      while ($list <> "")
      do
          lex "1" $list > $file
          system del ("\""+$file+"\"")
      done
      
      script  "C:/Scripts/Delete1Hour.txt" folder("C:/testfolder")