Batch file 调整forfiles命令以查看文件夹而不是文件

Batch file 调整forfiles命令以查看文件夹而不是文件,batch-file,recursion,Batch File,Recursion,我编写了一个备份命令,用于删除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") 我正在修改此命令,以便它查看指定目录中的顶级文件夹,并在文件

我编写了一个备份命令,用于删除
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")
我从前面的file命令中取出了第一个
/s
,因为我不想递归搜索,我只想查看
E:\Backup\Sybase
目录中顶级文件夹的最后修改日期

(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 & if @ISDIR==TRUE RD /Q /S @FILE")
我还添加了
if@isdir==true
以确定文件是否为文件夹,并更新了delete命令以包含
/s
,以便执行递归删除


但每次执行命令时,都不会删除任何内容。

在使用
RD
递归删除目录之前,我使用
if@ISDIR==TRUE
确定文件是否为目录

(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 & if @ISDIR==TRUE RD /Q /S @FILE")