Alex_Piggy
Advanced Member | Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору Добрый день, Deilan Код: @echo off >temp.vbs echo dim DirDate >>temp.vbs echo DirDate ^= CDate^(WScript.Arguments.Item^(0^)^) >>temp.vbs echo if DateDiff^("d",DirDate,Now^) ^> 2 Then Wscript.Quit 1 end if for /d %%i in (*) do (cscript /e:vbscript //nologo 1.vbs %%~ti || echo rd /s /f %%i) | Но работает медленно. Лучше на чистом VBS (этот батник создает vbs и запускает его на папку "D:\test\14"). Параметром передается имя папки для обработки (в которой будет производится поиск подпапок): Код: @echo off >removedirs.vbs echo Dim fs, f, f1, s >>removedirs.vbs echo set fs = CreateObject^("Scripting.FileSystemObject"^) >>removedirs.vbs echo if WScript.Arguments.Count ^= 0 then WScript.Quit 1 end if >>removedirs.vbs echo if not fs.FolderExists^(WScript.Arguments.Item^(0^)^) then WScript.Quit 1 end if >>removedirs.vbs echo set f = fs.GetFolder^(WScript.Arguments.Item^(0^)^).SubFolders >>removedirs.vbs echo For Each f1 in f rem >>removedirs.vbs echo if DateDiff^(^"d^",f1.DateLastModified,Now^) ^> 2 then fs.DeleteFolder f1.Path,0 end if >>removedirs.vbs echo if IsDate^(f1.name^) then if DateDiff^(^"d^",CDate^(f1.name^),Now^) ^> 2 then fs.DeleteFolder f1.Path,0 end if end if >>removedirs.vbs echo Next cscript //nologo /e:vbscript removedirs.vbs "D:\test\14" | Во всяком случае, в Win98 и в Vista работает. Только сначала проверьте где-нибудь. Исправлено: Deilan Спасибо за поправку. Прошу прощения, отвлекся... |