Batch file 删除一周前的日志文件

Batch file 删除一周前的日志文件,batch-file,Batch File,我需要一些帮助,在编写一个脚本,删除所有的“日志”文件是7天以前。由于我要去度假,这个过程每周都由我手动完成。因此,我想创建一个批处理文件,并将其放入任务计划程序中,每周运行一次 例如:有一个名为“cache”的文件夹,然后有100个文件夹启动test-01、test-03、test-05 然后在这些测试文件夹中有一些日志文件,它们的日期类似于120614.log、130614.log等。。脚本应该在每个文件夹下标识这些日志文件,如果它们已经存在7天,则删除它们 非常感谢您可以用一种有点特别的方

我需要一些帮助,在编写一个脚本,删除所有的“日志”文件是7天以前。由于我要去度假,这个过程每周都由我手动完成。因此,我想创建一个批处理文件,并将其放入任务计划程序中,每周运行一次

例如:有一个名为“cache”的文件夹,然后有100个文件夹启动test-01、test-03、test-05

然后在这些测试文件夹中有一些日志文件,它们的日期类似于120614.log、130614.log等。。脚本应该在每个文件夹下标识这些日志文件,如果它们已经存在7天,则删除它们

非常感谢

您可以用一种有点特别的方式使用

首先使用robocopy将一周前的日志文件从日志文件夹树移动到临时文件夹,然后删除临时文件夹。作为奖励,您可以在删除日志文件之前对其进行7zip压缩

robocopy c:\cache %TEMP%\ERASECACHE /MOV /MINAGE:7 
rmdir /S /Q %TEMP%\ERASECACHE
这是怎么回事 来自robocopy/?我们了解到:

用法::ROBOCOPY源目标[文件[文件]…][选项]

/MOV::移动文件(复制后从源中删除)。
/MINAGE:n::最小文件期限-排除比n天/日期新的文件

来自rmdir/

RMDIR[/S][/Q][drive:]路径

  • /S删除指定目录中除目录本身之外的所有目录和文件。用于删除目录树
  • /Q安静模式,不询问是否确定删除带有/S的目录树

%TEMP%是一个众所周知的环境变量,它包含一个当前用户具有写入权限的目录

查看
forfiles/?
在确定7天及以上的日期时,最后修改的日期是否可靠?文件夹树中是否有其他
.log
文件?