Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  | Правила  

Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » VBS/WSH/JS - [решено] удаление старых файлов по маске

Ответить
Настройки темы
VBS/WSH/JS - [решено] удаление старых файлов по маске

Пользователь


Сообщения: 74
Благодарности: 0

Профиль | Отправить PM | Цитировать


Всем привет,
есть скрипт, который запускается командой 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

Отправлено: 14:59, 26-04-2013

 

Аватара для sunnykey

Пользователь


Сообщения: 124
Благодарности: 47

Профиль | Отправить PM | Цитировать


Добавь переменную
Код: Выделить весь код
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 считаю лишним (дублирует вывод первого условия)

-------
cmd умри, powershell живи=)
Powershel 4.0 microsoft.com/ru-ru/download/details.aspx?id=40855

Это сообщение посчитали полезным следующие участники:

Отправлено: 08:41, 03-06-2013 | #2



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля.



Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » VBS/WSH/JS - [решено] удаление старых файлов по маске

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
CMD/BAT - [решено] Перемещение и удаление файлов по условию и маске VitHAK Скриптовые языки администрирования Windows 14 23-12-2013 08:57
CMD/BAT - [решено] Копирование и удаление файлов по маске ul9 Скриптовые языки администрирования Windows 10 25-03-2013 10:09
CMD/BAT - [решено] удаление файлов по маске имени hlpain Скриптовые языки администрирования Windows 4 02-09-2011 16:11
Delphi - Перемещение и удаление файлов по маске. Putin-mode Программирование и базы данных 1 21-06-2010 12:16
CMD/BAT - Удаление старых файлов по имени файлов Bиктор Скриптовые языки администрирования Windows 1 19-04-2010 03:37




 
Переход