AndreitchTex
20-03-2014, 08:35
Доброго времени суток форумчане. Нужна помощь! Нужно сделать скрипт который будет чистить шару расположенную на удаленном сервере под 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)
Условия которые выполняются в скрипте.
Удаление каждый день в полночь.
Копирование файлов полученных за сутки в папку с именем вчера(с ее последующей очисткой).
Удаление полностью всех директорий с последующим копированием новой(чистой). Так как юзеры любят добавлять левые папки.
Сам я в скриптах ничего не понимаю, лазил в просторах, искал. Что то находил. но не то!
Надеюсь на вашу помощь и понимание
Вот пример того что я находил. Но как его доработать ума не приложу
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)