Войти

Показать полную графическую версию : [решено] Автоматическое удаление с шары


ev83gen
16-11-2015, 08:38
Всем добрый день, такая задача нарисовалась:
есть шара, предназначенная для обмена инфой, ну а пользователи они и есть пользователи, устроили помойку...
Вот нужно автоматом раз в день все удаллять с шары, я вот сижу думаю, в Microsoft никаких штатных методов на этот случай не предусмотрели?

Iska
16-11-2015, 09:33
я вот сижу думаю, в 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 (http://forum.oszone.net/forum-102.html) Вы можете поискать и более сложные варианты.

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

Michael
16-11-2015, 09:35
ev83gen,

rd /s /q \\server\share\

поместить в батник, а батник в шедулер

ev83gen
16-11-2015, 09:39
Спасибо всем за столь быстрые и качественные ответы, я не так выразился....
Просто в win2008r2 появилось много дополнение по управлению сервером, вот я и подумал что там без скриптов что такое есть, но скрипты так скрипты. Всем спасибо))

Gerner
16-11-2015, 14:18
Есть как раз без скриптов - называется File Management, доступно из консоли File Server Resource Manager. Можно задавать период устаревания, действия с файлами, расписание выполнения, в общем довольно гибко.

ev83gen
16-11-2015, 14:25
Ага, вот это и интересовала, а я смотрел в Share and Storage Managment, поэтому и не нашел.
Сейчас бегло просмотрел, такого прям не нашел что меню есть по выбору действия над файлом, там вроде тоже с помощью скриптов..... Но хоть есть куда копать, СПАСИБО.

WindowsNT
23-11-2015, 14:22
Укажите параметры глубины и нужной папки; зашедульте скрипт на запуск от лица SYSTEM ежесуточно в 23:00.



$RetentionDepth = 5
$DataFolder = "C:\inetpub\wwwroot\files"

$EventHorizon = (Get-Date).AddDays(-$RetentionDepth)
Get-ChildItem $DataFolder -recurse -force | ?{$_.LastWriteTime -lt $EventHorizon} | del -recurse -force




© OSzone.net 2001-2012