![]() |
Помощь в чистке шары
Доброго времени суток форумчане. Нужна помощь! Нужно сделать скрипт который будет чистить шару расположенную на удаленном сервере под WinS 2003.
Условия которые выполняются в скрипте. Удаление каждый день в полночь. Копирование файлов полученных за сутки в папку с именем вчера(с ее последующей очисткой). Удаление полностью всех директорий с последующим копированием новой(чистой). Так как юзеры любят добавлять левые папки. Сам я в скриптах ничего не понимаю, лазил в просторах, искал. Что то находил. но не то! Надеюсь на вашу помощь и понимание Вот пример того что я находил. Но как его доработать ума не приложу Dim fso, Period Function DelFiles(Folder) '*** Функция удаляет все файлы в папке Folder старше N дней N = Period Set f = fso.GetFolder(Folder) Set fc = f.Files For Each f1 in fc Set file = fso.GetFile(f1) diff = DateDiff("d", file.DateCreated, date,0, 0) If N < 0 Then file.delete Else If diff > N Then file.delete End If End If Next End Function Function DelSubFolders(SubFolder) '*** Функция перебирает подпапки в папке SubFolder, '*** вызывает функцию удаления файлов и удаляет пустые подпапки 'Dim f, f1, fc, ff, ff1, fc1, file, diff Set f = fso.GetFolder(SubFolder) Set fc = f.SubFolders For Each f1 in fc Set ff = fso.GetFolder(f1) DelFiles(ff) DelSubFolders(ff) If f1.size = 0 then f1.delete End If Next End Function Set fso = CreateObject("Scripting.FileSystemObject") Share = WScript.Arguments(0) Period = WScript.Arguments(1) DelFiles(Share) DelSubFolders(Share) |
Скрипт для powershell удаляет из шары все полностью и складывает в другую папку (например так d:\архив шары\13.04.2014.rar)
#Место расположения архиватора (в данном случае обязательно winrar, так как параметры для архивации именно для него) $Rar="C:\Program Files\WinRAR\Rar.exe" $path_otkuda="e:\твоя папка обмена\*" $path_kuda="e:\куда будешь вчерашний хлам складывать\$(get-date -uformat '%d.%m.%Y').rar" #сам процесс архивации &$Rar a -m5 -df -ep1 -r $path_kuda $path_otkuda #удаление файлов старше 30 дней ls "$path_kuda" | ? {$_.lastwritetime -le (Get-date).addDays(-30)} | ri |
Время: 20:37. |
Время: 20:37.
© OSzone.net 2001-