2015-11-05 103 views
0

我需要遠程刪除超過7天的子文件夾,能夠找到像這樣的語法,但它所做的是通過子文件夾循環並刪除文件它超過7天。任何想法如何刪除7天以上的xFOLDER中的子文件夾?如何使用forfiles遠程刪除x天以前的子文件夾

PushD "\\IP ADDRESS\FOLDERA\FOLDERB\FOLDERC\FOLDERD\xFOLDER\" & ("forfiles.exe" /s /m "." /d -7 /c "cmd /c del @file") & PopD 
+0

變化從'面具* *''到*'和使用'rmdir'命令;在'forfiles'循環中你可以檢查一個項目是一個文件還是一個目錄。通過變量@ @ isdir ... – aschipfl

回答

0

你是幾乎沒有,需要改變只是幾件事情:

  • 沒有/Sforfiles,如您有興趣的只有xFOLDER眼前的子目錄;
  • 搜索掩碼需要從.更改爲*;
  • 跳過所有枚舉的文件,需要檢查(使用if); forfiles傳遞變量@isdir,其指示當前項目是文件(FALSE)還是目錄(TRUE);
  • del刪除文件,因此刪除目錄需要rmdir;交換機/S允許刪除非空目錄,交換機/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 
相關問題