Понедельник, 06.05.2024, 13:35
Приветствую Вас Гость

OIMD - СОФТ

Меню сайта
Категории раздела
Все о компьютерах [0]
Операционные системы [2]
Windows и все что с ним связано
WEB Сайты [1]
Сайты, дизайн и программирование, продвижение сайтов.
Разное [11]
Разное
Антивирусы [2]
Каспер НОд доктор ВЭБ ... и т.д.
Жесткие диски и ремонт [1]
Обсуждение и ремонт и обсуждение софта.
Железо [10]
Материнские платы, жесткие диски, ОЗУ, блоки питания, процессоры, мосты.. обсуждение.
Proxy Прокси Сервера [1]
Сеть, сети. [1]
Все что связано с сетью, обсуждение.
Заработок [2]
Статистика

Онлайн всего: 1
Гостей: 1
Пользователей: 0
Главная » Статьи » Разное

Удаление временных файлов скриптом по расписанию скриптом

Удаление временных файлов скриптом по расписанию

Как вы удаляете временные файлы? Вручную запускаете CCleaner или аналогичную программу, либо настроили ее запуск по расписанию? Я обхожусь встроенными средствами Windows, причем все сводится буквально к одной команде. Я хочу поделиться с вами двумя скриптами, которые давно служат мне верой и правдой для удаления ненужных файлов.

В Windows 7 имеется утилита для очистки диска, которую можно настроить для удаления заданных категорий файлов по расписанию. Она легко справится с очисткой временных файлов из расположений, известных системе, но не позволит удалять ненужные файлы из заданной вами папки. С помощью скриптов можно очищать не только временные файлы, но и любую папку. Например, я удаляю файлы из папок Test и Temp, которые служат для экспериментов и временного хранения файлов как в загрузках, так и документах.

 

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

Эти скрипты позволяют удалять только файлы заданного «возраста» вместо полной очистки папки.

В статье вы найдете примеры скриптов и рассказ о том, как настроить задачу в планировщике одной командой. Вы также сможете скачать готовые файлы и создать задание для очистки папок за пару минут.

Скрипты

Вы можете воспользоваться на выбор скриптами CMD, VBS и PowerShell.

CMD

Можно использовать утилиту командной строки forfiles.exe, входящую в состав Windows 7 (когда-то она входила в Windows 2000 Resource Kit). Одной командой удаляются все файлы из указанной папки и вложенных в нее.

Команда для выполнения

forfiles.exe /p %temp% /s /m *.* /d -14 /c "cmd /c del /q /f @file" 
  • Вместо %temp% (временной папки в профиле) подставьте свою папку (параметр /p)
  • Возраст файлов по умолчанию 14 дней (параметр /d), но вы можете задать любое значение
  • Можно удалять файлы определенного расширения по маске (например, /m *.log)
  • За рекурсивное удаление (во вложенных папках) отвечает параметр /s

Конечно, в скрипте вы можете использовать несколько команд, каждая из которых будет удалять заданную папку. Справка по использованию утилиты вызывается командой forfiles /?.

VBS

Приведенный ниже скрипт VBS удаляет все файлы и папки, включая защищенные, с выводом списка удаленных файлов.

On Error Resume Next
intDays = Int(Wscript.arguments.Item(0))
strFldr = Wscript.arguments.Item(1)

Set objFSO = CreateObject("Scripting.FileSystemObject")
DelOld strFldr, intDays

Function DelOld(sFldr, iDays)
On Error Resume Next
 Dim oD, cF, cD, oI

 Set oD = objFSO.GetFolder(sFldr)
 Set cF = oD.Files
 Set cD = oD.SubFolders

 For Each oI In cF
 If DateDiff("d", oI.DateLastModified, Now) > iDays Then
 WScript.Echo oI.Path
 oI.Attributes = 0
 oI.Delete
 End If
 Next

 For Each oI In cD
 DelOld oI.Path, iDays
 If oI.Size = 0 Then
 oI.Attributes = 0
 oI.Delete
 End If
 Next
End Function
  • Файлы удаляются по дате изменения. Чтобы удалять по дате создания, замените .DateLastModified на.DateCreated
  • Если не хотите удалять защищенные файлы, закомментируйте строку
    ‘ oI.Attributes = 0

Команда для выполнения

Скрипт можно запускать из командного файла (CMD).

cscript //Nologo MyCleanUp.VBS 14 %windir%\temp >MyCleanupScript.Log
  • Вместо %windir%\temp подставьте свою папку (в этом примере удаляются файлы из временной папки в системном каталоге)
  • Возраст файлов по умолчанию 14 дней, но вы можете задать любое значение
  • Список удаленных файлов будет по умолчанию сохранен в файле %windir%\system32\MyCleanupScript.Log, хотя можно указать любой путь и имя файла

Как и в случае с утилитой forefiles.exe, можно реализовать очистку различных папок, указав каждую в отдельной команде.

PowerShell

Скрипт на PowerShell есть в блоге Сергея Мариничева в рамках урока об операциях с файлами. Создание скрипта и его размещение в планировщике он описал в другом уроке.

Выполнение очистки по расписанию

Для выполнения очистки папки по расписанию нужно создать скрипт с именем cleanup.cmd, содержащий любую из приведенных выше команд, и скопировать его в папку %windir%\system32. Поместите туда же VBS-скрипт, если вы решили использовать его, а не утилиту forfiles.ехе.

Задание в планировщике создается одной командой:

Schtasks.exe /Create /RL Highest /TN CleanUP /SC Weekly  /D SUN /ST 14:00 /TR "%WINDIR%\system32\cleanup.cmd"

Задание с именем CleanUp будет выполняться:

  • с наивысшими правами (параметр /RL)
  • раз в неделю (параметр /SC)
  • по воскресеньям (параметр /D)
  • в 14:00 (параметр /ST)

Откройте Пуск – Поиск – Планировщик заданий и вы увидите в библиотеке планировщика заданиеCleanUp.

*
Увеличить рисунок

Можете проверить работу задания в планировщике. Для этого щелкните правой кнопкой мыши по заданию и выберите Выполнить.

Готовые файлы

Загрузите архив и распакуйте в любую папку.

  1. Задайте путь к папке и возраст файлов в скрипте CleanUp.cmd в одной из папок (каждая соответствует одному из описанных выше способов), после чего скопируйте все содержимое папки в  %windir%\system32.
  2. Щелкните правой кнопкой мыши на файле schedule.cmd и выберите Запуск от имени администратора, чтобы создать задание.
Категория: Разное | Добавил: Администратор (15.09.2015)
Просмотров: 707 | Теги: вирусы, Удаление временных файлов скриптом | Рейтинг: 0.0/0
Всего комментариев: 0
Добавлять комментарии могут только зарегистрированные пользователи.
[ Регистрация | Вход ]
Вход на сайт
Поиск
Друзья сайта