【问题标题】:Delete a file which is x days old - batch删除 x 天前的文件 - 批处理
【发布时间】:2013-10-17 07:55:44
【问题描述】:

首先:我是批处理新手。我有一个批处理文件,它应该删除文件夹中 5 天或更早的文件。我用FORFILES:

FORFILES /p "C:\Users\rs\Desktop\testbatch" /s /m *.* /d -5 /c "cmd /c del @file"

这很好用,但是:如果我将一个文件添加到此文件夹并在 4 天后向该文件夹添加另一个文件,即使第二个文件只有 1 天,它也会在 5 天后删除这两个文件,因为它是在 5 天前的文件夹中。

谁能给我一个提示,我怎么能说该文件必须 min. 5 天后才能删除?

提前致谢

干杯

【问题讨论】:

  • 您所描述的内容在该命令行中是不可能的。作为一种测试技术,使用cmd /c echo del @file,您可以在具有不同文件的各种文件夹中测试它,以验证它只会回显5天或更长时间的文件名。

标签: batch-file


【解决方案1】:

forfiles 将目录检测为 5 天前,并在​​目录上执行 then 命令。更改命令以检查目标是否为目录

FORFILES /p "C:\Users\rs\Desktop\testbatch" /s /m *.* /d -5 /c "cmd /c if not @isdir==TRUE del @file"

【讨论】:

  • 好的,谢谢您的回答。我必须对其进行测试,这可能需要几天时间,因为我必须等待 >.
  • 您可以使用简单的 powershell 脚本更改文件创建日期的属性来测试这一点-> chrisjwarwick.wordpress.com/2011/11/08/…
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2010-09-08
  • 1970-01-01
  • 1970-01-01
  • 2016-12-01
  • 1970-01-01
  • 1970-01-01
  • 2012-03-26
相关资源
最近更新 更多