【发布时间】:2016-02-16 17:22:55
【问题描述】:
我编写了一个备份命令,用于删除E:\Backup\ldap 目录中超过两天的文件。我已经测试过了,效果很好。
(forfiles /p E:\Backup\ldap /s /d -2 /c "cmd /c echo @path >> E:\Backup\files_deleted_log_%date:~-10,2%%date:~-7,2%%date:~-4,4%.txt & cmd /c del /q @path")
我正在修改此命令,以便它查看指定目录中的顶级文件夹,如果文件夹及其内容超过两天,则递归删除该文件夹及其内容。
(forfiles /p E:\Backup\Sybase /d -2 /c "cmd /c if @isdir == true echo @path >> E:\Backup\files_deleted_log_%date:~-10,2%%date:~-7,2%%date:~-4,4%.txt & cmd /c if @isdir == true del /s /q @path")
我从上一个文件命令中取出了第一个/s,因为我不想递归搜索,我只想查看E:\Backup\Sybase 目录中顶级文件夹的最后修改日期。
我还添加了if @isdir == true 以确定文件是否为文件夹,并更新了删除命令以包含/s 以便执行递归删除。
但每次我执行命令时,都不会删除任何内容。
【问题讨论】:
标签: batch-file recursion