我需要远程删除超过7天的子文件夹,能够找到这样的语法,但它的作用是循环遍历子文件夹并删除7天以内的文件。不知道如何删除xFOLDER中超过7天的子文件夹?
PushD "\\IP ADDRESS\FOLDERA\FOLDERB\FOLDERC\FOLDERD\xFOLDER\" & ("forfiles.exe" /s /m "." /d -7 /c "cmd /c del @file") & PopD
答案 0 :(得分:0)
你几乎就在那里,只需要改变一些事情:
/S
没有forfiles
,因为您只对xFOLDER
的直接子目录感兴趣; .
更改为*
; if
); forfiles
提供变量@isdir
,表示当前项目是文件(FALSE
)还是目录(TRUE
); del
删除文件,因此要删除目录,需要rmdir
; switch /S
允许删除非空目录,switch /Q
可以阻止任何提示是否删除; 所以这个修改过的代码应该按照你想要的那样做(出于易读原因写成多行):
PushD "\\IP ADDRESS\FOLDERA\FOLDERB\FOLDERC\FOLDERD\xFOLDER\" ^
& ("forfiles.exe" /P "*" /D -7 /C "cmd /C if @isdir==TRUE rmdir /S /Q @path") ^
& PopD