Главная
Форумы
Новые сообщения
Поиск сообщений
Что нового?
Новые сообщения
Новые ресурсы
Последняя активность
Ресурсы
Последние отзывы
Поиск ресурсов
Помощь форуму
ЧатTG
Вход
Регистрация
Что нового?
Поиск
Поиск
Искать только в заголовках
От:
Новые сообщения
Поиск сообщений
Меню
Вход
Регистрация
Приложение
Установить
Форумы
Операционные системы
Microsoft Windows
FAQ по Microsoft Windows
Удаление временных файлов скриптом по расписанию
JavaScript отключён. Чтобы полноценно использовать наш сайт, включите JavaScript в своём браузере.
Вы используете устаревший браузер. Этот и другие сайты могут отображаться в нём некорректно.
Вам необходимо обновить браузер или попробовать использовать
другой
.
Ответить в теме
Сообщение
[QUOTE="Mila, post: 78984, member: 77"] Как вы удаляете временные файлы? Вручную запускаете CCleaner или аналогичную программу, либо настроили ее запуск по расписанию? Я обхожусь встроенными средствами Windows, причем все сводится буквально к одной команде. Я хочу поделиться с вами двумя скриптами, которые давно служат мне верой и правдой для удаления ненужных файлов. В Windows 7 имеется утилита для очистки диска, которую можно настроить для удаления заданных категорий файлов по расписанию. Она легко справится с очисткой временных файлов из расположений, известных системе, но не позволит удалять ненужные файлы из заданной вами папки. С помощью скриптов можно очищать не только временные файлы, но и любую папку. Например, я удаляю файлы из папок Test и Temp, которые служат для экспериментов и временного хранения файлов как в загрузках, так и документах. В отличие от программных чистильщиков, скрипты можно гибко настроить, а регулярность выполнения очистки легко реализовать с помощью планировщика заданий Windows. В статье вы найдете примеры двух скриптов и рассказ о том, как настроить задачу в планировщике одной командой. Вы также сможете скачать готовые файлы и создать задание для очистки папок за пару минут. [U][B]Скрипты[/B][/U] Вы можете воспользоваться на выбор скриптами CMD и VBS. [B]CMD[/B] Можно использовать утилиту командной строки [B]forfiles.exe[/B], входящую в состав Windows 7 (когда-то она входила в[URL="http://www.petri.co.il/download_free_reskit_tools.htm"] Windows 2000 Resource Kit)[/URL]. Одной командой удаляются все файлы из указанной папки и вложенных в нее. [SPOILER=запустите командную строку от имени администратора]Нажмите меню "Пуск"=>Введите cmd => По найденному объекту кликните правой кнопкой мыши и выберите пункт Запустить с правами администратора"[/SPOILER] Введите команду и нажмите [B]enter[/B]: [CODE]forfiles.exe /p %temp% /s /m *.* /d -14 /c "cmd /c del /q /f @file"[/CODE] -Вместо %[B]temp[/B]% (временной папки в профиле) подставьте свою папку (параметр /p) -Возраст файлов по умолчанию [B]14 [/B]дней (параметр /[B]d)[/B], но вы можете задать любое значение -Можно удалять файлы определенного расширения по маске (например, /[B]m *.log)[/B] За рекурсивное удаление (во вложенных папках) отвечает параметр /[B]s[/B] Конечно, в скрипте вы можете использовать несколько команд, каждая из которых будет удалять заданную папку. Справка по использованию утилиты вызывается командой[B] forfiles /?.[/B] [B]VBS[/B] Приведенный ниже скрипт VBS удаляет все файлы и папки, включая защищенные, с выводом списка удаленных файлов. [CODE]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 [/CODE] -Файлы удаляются по дате изменения. Чтобы удалять по дате создания, замените .[B]DateLastModified [/B]на .[B]DateCreated[/B] -Если не хотите удалять защищенные файлы, закомментируйте строку [CODE]‘ oI.Attributes = 0 [/CODE] [U][B]Команда для выполнения[/B] [/U] [I]Скрипт можно запускать из командного файла (CMD).[/I] [CODE]cscript //Nologo MyCleanUp.VBS 14 %windir%\temp >MyCleanupScript.Log[/CODE] Вместо %[B]windir[/B]%\[B]temp[/B] подставьте свою папку (в этом примере удаляются файлы из временной папки в системном каталоге) Возраст файлов по умолчанию[B] 14 [/B]дней, но вы можете задать любое значение Список удаленных файлов будет по умолчанию сохранен в файле %windir%\system32\MyCleanupScript.Log, хотя можно указать любой путь и имя файла Как и в случае с утилитой forefiles.exe, можно реализовать очистку различных папок, указав каждую в отдельной команде. [B][U]Выполнение очистки по расписанию[/U][/B] Для выполнения очистки папки по расписанию нужно создать скрипт с именем [B]cleanup.cmd,[/B] содержащий любую из приведенных выше команд, и скопировать его в папку %[B]windir[/B]%\[B]system32.[/B] Поместите туда же VBS-скрипт, если вы решили использовать его, а не утилиту[B] forfiles.ехе.[/B] [I]Задание в планировщике создается одной командой:[/I] [CODE]Schtasks.exe /Create /RL Highest /TN CleanUP /SC Weekly /D SUN /ST 14:00 /TR "%WINDIR%\system32\cleanup.cmd"[/CODE] Задание с именем [B]CleanUp[/B] будет выполняться: -с наивысшими правами (параметр /[B] /RL[/B]) -раз в неделю (параметр /[B]SC[/B]) -по воскресеньям (параметр /[B]D[/B]) -в 14:00 (параметр /[B]ST)[/B] Откройте [B]Пуск – Поиск – Планировщик [/B]заданий и вы увидите в библиотеке планировщика задание [B]CleanUp[/B] [IMG]http://oszone.net/user_img/vadblog/cleanup01_mini_oszone.jpg[/IMG] Можете проверить работу задания в планировщике. Для этого щелкните правой кнопкой мыши по заданию и выберите [B]Выполнить.[/B] [B][U]Готовые файлы[/U][/B] Загрузите архив и распакуйте в любую папку. 1. Задайте путь к папке и возраст файлов в скрипте[B] CleanUp.cmd [/B]в одной из папок (каждая соответствует одному из описанных выше способов), после чего скопируйте все содержимое папки в %[B]windir[/B]%\[B]system32[/B]. 2.Щелкните правой кнопкой мыши на файле [B]schedule.cmd [/B]и выберите [B]Запуск от имени администратора,[/B] чтобы создать задание. [B][I]Автор: Вадим Стеркин[/I][/B] [URL="http://www.outsidethebox.ms/"] источник[/URL] [/QUOTE]
Вставить цитаты...
Проверка
Ответить
Форумы
Операционные системы
Microsoft Windows
FAQ по Microsoft Windows
Удаление временных файлов скриптом по расписанию
Сверху
Снизу