我需要一些帮助来编写一个脚本,删除7天前的所有“日志”文件。当我要去度假时,这个过程每周由我手动完成。因此我想创建一个批处理文件,并将其放在任务计划程序中,每周运行一次。
例如:有一个名为“cache”的文件夹,然后有100个文件夹启动test-01,test-03,test-05
然后在这些测试文件夹中有日志文件,其日期类似于120614.log,130614.log等。脚本应该在每个文件夹下识别这些日志文件,然后删除它们是否为7天。
非常感谢
答案 0 :(得分:0)
您可以以某种特殊的方式使用robocopy。
首先使用robocopy将日历文件夹树中的一周日志文件移动到临时文件夹,然后删除临时文件夹。作为奖励,您可以在移除它们之前对移动的日志文件进行7zip。
robocopy c:\cache %TEMP%\ERASECACHE /MOV /MINAGE:7
rmdir /S /Q %TEMP%\ERASECACHE
来自robocopy /?我们学习:
用法:: ROBOCOPY源目的地[file [file] ...] [options]
/ MOV :: MOVe文件(复制后从源文件中删除) / MINAGE:n :: MINimum file AGE - 排除比n天/日期更新的文件。
来自rmdir /?
RMDIR [/ S] [/ Q] [drive:]路径
- / S除目录本身外,还删除指定目录中的所有目录和文件。用于删除目录树。
- / Q安静模式,不要问是否可以使用/ S
删除目录树
%TEMP%是一个众所周知的环境变量,它包含当前用户具有写入权限的目录