удаление старых файлов по маске
Всем привет,
есть скрипт, который запускается командой call cscript//Nologo "%~dp0Clean.vbs" 30 "C:\Download"
(удаляет все файлы из каталога C:\Download старше 30 дней)
вопрос, как изменить его так, чтобы можно было задавать маску удаления для файлов ?
Код:
intDays = Int(Wscript.arguments.Item(0))
strFldr = Wscript.arguments.Item(1)
Set objFSO = CreateObject("Scripting.FileSystemObject")
DelOld strFldr, intDays
Function DelOld(sFldr, iDays)
On Error Resume Next
Dim oD, cF, cD, oI
Set oD = objFSO.GetFolder(sFldr)
Set cF = oD.Files
Set cD = oD.SubFolders
For Each oI In cF
If DateDiff("d", oI.DateLastModified, Now) > iDays Then
WScript.Echo oI.Path
oI.Attributes = 0
oI.Delete
End If
Next
For Each oI In cD
If DateDiff("d", oI.DateLastModified, Now) > iDays Then
WScript.Echo oI.Path
DelOld oI.Path, iDays
If oI.Size = 0 Then
oI.Attributes = 0
oI.Delete
End If
End If
Next
End Function
|
Добавь переменную
Код:
strMask= Wscript.arguments.Item(2)
И измени условие
Код:
For Each oI In cF
If (DateDiff("d", oI.DateLastModified, Now) > iDays) and (objFSO.GetExtensionName(oI)=strMask) Then
WScript.Echo oI.Path
oI.Attributes = 0
oI.Delete
End If
Next
теперь можешь запускать
Код:
call cscript//Nologo "%~dp0Clean.vbs" 30 "C:\Download" exe
З.Ы. Во втором условии WScript.Echo oI.Path считаю лишним (дублирует вывод первого условия)
|
Время: 08:15.
© OSzone.net 2001-