24.06.2017, 16:58 [+3 UTC]
в нашей команде: 2 039 чел. | участники онлайн: 5 (рекорд: 21)

:: РЕГИСТРАЦИЯ

:: консультации

:: задать вопрос

:: все разделы

:: правила

:: новости

:: участники

:: доска почёта

:: форум

:: блоги

:: поиск

:: статистика

:: наш журнал

:: наши встречи

:: наша галерея

:: отзывы о нас

:: поддержка

:: руководство

Версия системы:
7.41 (25.02.2017)

Общие новости:
23.02.2017, 09:51

Форум:
24.06.2017, 09:45

Последний вопрос:
23.06.2017, 20:49

Последний ответ:
24.06.2017, 12:45

Последняя рассылка:
24.06.2017, 09:45

Писем в очереди:
0

Мы в соцсетях:

Наша кнопка:

RFpro.ru - здесь вам помогут!

Отзывы о нас:
15.12.2010, 01:04 »
Савенков Михаил
Очень быстро ответили! Понравилось smile [вопрос № 181367, ответ № 264783]
18.09.2010, 12:03 »
Andrey Rew1791
Ответ звучит вполне логично. Большое спасибо. [вопрос № 179931, ответ № 263083]

РАЗДЕЛ • Windows

Администрирование, установка, настройка, восстановление, командная строка и консоль ОС Windows.

[администратор рассылки: Андреенков Владимир (Профессор)]

Лучшие эксперты в этом разделе

Megaloman
Статус: Академик
Рейтинг: 262
Лысков Игорь Витальевич
Статус: Старший модератор
Рейтинг: 184
Зенченко Константин Николаевич
Статус: Модератор
Рейтинг: 180

Перейти к консультации №:
 

Консультация онлайн # 63728
Раздел: • Windows
Автор вопроса: Garmon
Отправлена: 22.11.2006, 15:40
Поступило ответов: 1

Здрасьте!
1. Win2k3 Server
2. Сетвая папка = файловая помойка

Необходимо:
Скрипт который бы проверял папку раз в неделю например (ну это решается диспечером заданий), и удалял файлы старше 1-го месяца. Желательо .bat файл.

Состояние: Консультация закрыта

Ответ # 127904 от Зайцев Александр

Здравствуйте, Garmon!
Скрипт del.VBS

'------------------------------------------------------------------------------------------------
RunForFiles "C:\logs\" 'файлы, среди которых будет производиться поиск устаревших, лежат в этой директории

Function RunForFiles(folderspec)
Dim fso, f, f1, fc

Set fso = CreateObject("Scripting.FileSystemObject")
Set f = fso.GetFolder(folderspec)
Set fc = f.Files
For Each f1 in fc
'WScript.Echo (folderspec & f1.name) 'вывод сообщения с именем файла, который будет удален. используется в тестовых целях, в рабочем скрипте нужно отключить
If CompareDate(folderspec & f1.name) = True Then Log(folderspec & f1.name)
'DelFile(folderspec & f1.name) 'удалить файл. сейчас удаление отключено для отладки.
Next
End Function

'***************************************************************
'Возвращает True, если дата создания файла больше 14-ти дней
Function CompareDate(strFileName)
Dim fso, f, s, i
Set fso = CreateObject("Scripting.FileSystemObject")
Set f = fso.GetFile(strFileName)

i = DateDiff("d", f.DateCreated, Now)

If i > 30 Then 'здесь указывается количество дней, которое используется для сравнения с датой создания файла, т.е., в этом примере удаляются все файлы, созданные раньше, чем 14 дней назад
'WScript.Echo(strFileName&" "&i) 'вывести имя файла и его возраст, используется для отладки
CompareDate = True
Else
CompareDate = False
End If
End Function

'****************************************************************
'функция для извлечения пути
Function ExpandPath(strFullFileName)
ExpandPath = Left(strFullFileName,instrrev(strFullFileName,"\"))
End Function

'***************************************************************
Function DelFile(strFullFileName)
Dim fso, F
Set fso = CreateObject("Scripting.FileSystemObject")
Set F = fso.GetFile(strFullFileName)
F.Delete
End Function

'****************************************************************
'функция для создания log-файла. он создается рядом со скриптом, имя - дата запуска скрипта.
Function Log(strLineToLog)
Const ForReading = 1, ForWriting = 2
Dim fso, f, r, FileLog
r = ""

FileLog = Left(WScript.ScriptName,(Len(WScript.ScriptName)-4)) & "_" & DatePart("yyyy",Date) & "_" & DatePart("m",Date) & "_" & DatePart("d",Date) & "." & "log"
Set fso = CreateObject("Scripting.FileSystemObject")

If (fso.FileExists(FileLog)) Then
Set f = fso.OpenTextFile(FileLog, Forreading, True)
r = f.Readall
f.Close
Set f = fso.OpenTextFile(FileLog, ForWriting, True)
f.Write strLineToLog & vbCrLf & r
f.Close
Else
Set f = fso.OpenTextFile(FileLog, ForWriting, True)
f.Write strLineToLog
f.Close
End If
End Function
Взял где-то на http://www.windowsfaq.ru/
работает прекрасно, и вообще на сайте много разных скриптов - рекомендую


Консультировал: Зайцев Александр
Дата отправки: 22.11.2006, 19:40

Рейтинг ответа:

0

[подробно]

Сообщение
модераторам

Отправлять сообщения
модераторам могут
только участники портала.
ВОЙТИ НА ПОРТАЛ »
регистрация »

Возможность оставлять сообщения в мини-форумах консультаций доступна только после входа в систему.
Воспользуйтесь кнопкой входа вверху страницы, если Вы зарегистрированы или пройдите простую процедуру регистрации на Портале.

Яндекс Rambler's Top100

главная страница | поддержка | задать вопрос

Время генерирования страницы: 0.13423 сек.

© 2001-2017, Портал RFPRO.RU, Россия
Авторское право: ООО "Мастер-Эксперт Про"
Калашников О.А.  |  Гладенюк А.Г.
Версия системы: 7.41 от 25.02.2017
Бесплатные консультации онлайн