20.08.2017, 10:53 [+3 UTC]
в нашей команде: 2 094 чел. | участники онлайн: 3 (рекорд: 21)

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

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

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

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

:: правила

:: новости

:: участники

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

:: форум

:: блоги

:: поиск

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

:: наш журнал

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

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

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

:: поддержка

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

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

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

Форум:
20.08.2017, 08:35

Последний вопрос:
18.08.2017, 23:30

Последний ответ:
17.08.2017, 18:54

Последняя рассылка:
19.08.2017, 22:15

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

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

Наша кнопка:

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

Отзывы о нас:
09.04.2010, 16:16 »
Xrom1989
Очень благодарен. Кратко и понятно)) [вопрос № 177762, ответ № 260723]
09.02.2017, 16:14 »
r45kostik
Огромное спасибо! Не мог найти схему. Клиент доволен! smile [вопрос № 190384, ответ № 274547]

РАЗДЕЛ • Windows

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

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

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

Лысков Игорь Витальевич
Статус: Старший модератор
Рейтинг: 337
Зенченко Константин Николаевич
Статус: Модератор
Рейтинг: 314
sidich@gmail.com
Статус: 4-й класс
Рейтинг: 144

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

Консультация онлайн # 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.14868 сек.

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