Имя пользователя:
Пароль:
 

Показать сообщение отдельно

Ветеран


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

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


Цитата ev83gen:
я вот сижу думаю, в Microsoft никаких штатных методов на этот случай не предусмотрели? »
Предусмотрели . Называется — пакетные файлы, скрипты WSH или PoSH.

Я несколько лет пользую такой скрипт WSH:
Скрытый текст
Код: Выделить весь код
Option Explicit

Const intDays2Live = 7
Const strPathToClear = "E:\Для обмена"


Dim objFSO
Dim intErrorLevel

Set objFSO = WScript.CreateObject("Scripting.FileSystemObject")

If objFSO.FolderExists(strPathToClear) Then
	ClearSubFolders objFSO.GetFolder(strPathToClear)
	
	intErrorLevel = 0
Else
	intErrorLevel = 1
End If

Set objFSO = Nothing

WScript.Quit intErrorLevel
'=============================================================================

'=============================================================================
Sub ClearSubFolders(objFolder)
	Dim objSubFolder
	Dim objFile
	
	
	For Each objSubFolder In objFolder.SubFolders
		ClearSubFolders objSubFolder
	Next
	
	For Each objFile In objFolder.Files
		If DateDiff("d", objFile.DateCreated, Now()) > intDays2Live Then
			objFile.Delete(True)
		End If
	Next
	
	If (objFolder.Files.Count = 0) And (objFolder.SubFolders.Count = 0) Then
		If objFolder.Path = strPathToClear Then
		Else
			objFolder.Delete True
		End If
	End If
End Sub
'=============================================================================

Файлы удаляются по дате создания, папки — только пустые (т.е., только после удаления всех вложенных в неё файлов и папок). Интервал у меня задан константой «intDays2Live» в одну неделю (семь дней), путь — константой «strPathToClear».

P.S. В разделе Скриптовые языки администрирования Windows Вы можете поискать и более сложные варианты.

P.P.S. Вдогонку — исполнение скрипта назначаете обычным Планировщиком на потребное время и частоту.
Это сообщение посчитали полезным следующие участники:

Отправлено: 09:33, 16-11-2015 | #2