我需要一個bat文件,只要他們吃了兩個特定的critrera就會刪除特定的目錄。 1)如果目錄超過14天2)如果目錄名稱包含所有數字。命令提示符 - 刪除具有特定姓名的目錄
我有以下代碼僅處理條件1,即該目錄大於14天。我如何擴展它,然後只刪除那些基於數字的名字。 FORFILES /D -14 /C "cmd /c IF @isdir == TRUE rmdir @path /s /q"
我需要一個bat文件,只要他們吃了兩個特定的critrera就會刪除特定的目錄。 1)如果目錄超過14天2)如果目錄名稱包含所有數字。命令提示符 - 刪除具有特定姓名的目錄
我有以下代碼僅處理條件1,即該目錄大於14天。我如何擴展它,然後只刪除那些基於數字的名字。 FORFILES /D -14 /C "cmd /c IF @isdir == TRUE rmdir @path /s /q"
由於這將作爲計劃作業運行,因此您應該指定根文件夾。
您可以使用FINDSTR來驗證名稱僅由數字組成。前導和尾隨點需要匹配包含在@file中的引號。
pushd "yourRootPath"
FORFILES /D -14 /C "cmd /c IF @isdir == TRUE echo @file|>nul findstr /x .[0-9]*.&&rd /s /q @path"
但是,上述可能會很慢。迭代數字文件夾名稱可能會更快,然後調用FORFILES爲每個候選文件夾測試日期:
pushd "yourRootPath"
for /f "delims=" %%F in ('"dir /b /ad|findstr /x [0-9]*"') do 2>nul forfiles /d -14 /m %%F /c "cmd /c rd /s /q @path"
您使用的是哪個版本的Windows? – lurker
我在Windows 7上測試,但最終將作爲服務器上的計劃任務運行。我不確定Windows服務器的版本,我會調查。 – LCaraway