Mila
Основатель
- Сообщения
- 4,353
- Реакции
- 7,002
Как вы удаляете временные файлы? Вручную запускаете CCleaner или аналогичную программу, либо настроили ее запуск по расписанию? Я обхожусь встроенными средствами Windows, причем все сводится буквально к одной команде. Я хочу поделиться с вами двумя скриптами, которые давно служат мне верой и правдой для удаления ненужных файлов.
В Windows 7 имеется утилита для очистки диска, которую можно настроить для удаления заданных категорий файлов по расписанию. Она легко справится с очисткой временных файлов из расположений, известных системе, но не позволит удалять ненужные файлы из заданной вами папки. С помощью скриптов можно очищать не только временные файлы, но и любую папку. Например, я удаляю файлы из папок Test и Temp, которые служат для экспериментов и временного хранения файлов как в загрузках, так и документах.
В отличие от программных чистильщиков, скрипты можно гибко настроить, а регулярность выполнения очистки легко реализовать с помощью планировщика заданий Windows.
В статье вы найдете примеры двух скриптов и рассказ о том, как настроить задачу в планировщике одной командой. Вы также сможете скачать готовые файлы и создать задание для очистки папок за пару минут.
Скрипты
Вы можете воспользоваться на выбор скриптами CMD и VBS.
CMD
Можно использовать утилиту командной строки forfiles.exe, входящую в состав Windows 7 (когда-то она входила в Windows 2000 Resource Kit). Одной командой удаляются все файлы из указанной папки и вложенных в нее.
Введите команду и нажмите enter:
-Вместо %temp% (временной папки в профиле) подставьте свою папку (параметр /p)
-Возраст файлов по умолчанию 14 дней (параметр /d), но вы можете задать любое значение
-Можно удалять файлы определенного расширения по маске (например, /m *.log)
За рекурсивное удаление (во вложенных папках) отвечает параметр /s
Конечно, в скрипте вы можете использовать несколько команд, каждая из которых будет удалять заданную папку. Справка по использованию утилиты вызывается командой forfiles /?.
VBS
Приведенный ниже скрипт VBS удаляет все файлы и папки, включая защищенные, с выводом списка удаленных файлов.
-Файлы удаляются по дате изменения. Чтобы удалять по дате создания, замените .DateLastModified на .DateCreated
-Если не хотите удалять защищенные файлы, закомментируйте строку
Команда для выполнения
Скрипт можно запускать из командного файла (CMD).
Вместо %windir%\temp подставьте свою папку (в этом примере удаляются файлы из временной папки в системном каталоге)
Возраст файлов по умолчанию 14 дней, но вы можете задать любое значение
Список удаленных файлов будет по умолчанию сохранен в файле %windir%\system32\MyCleanupScript.Log, хотя можно указать любой путь и имя файла
Как и в случае с утилитой forefiles.exe, можно реализовать очистку различных папок, указав каждую в отдельной команде.
Выполнение очистки по расписанию
Для выполнения очистки папки по расписанию нужно создать скрипт с именем cleanup.cmd, содержащий любую из приведенных выше команд, и скопировать его в папку %windir%\system32. Поместите туда же VBS-скрипт, если вы решили использовать его, а не утилиту forfiles.ехе.
Задание в планировщике создается одной командой:
Задание с именем CleanUp будет выполняться:
-с наивысшими правами (параметр / /RL)
-раз в неделю (параметр /SC)
-по воскресеньям (параметр /D)
-в 14:00 (параметр /ST)
Откройте Пуск – Поиск – Планировщик заданий и вы увидите в библиотеке планировщика задание CleanUp
Можете проверить работу задания в планировщике. Для этого щелкните правой кнопкой мыши по заданию и выберите Выполнить.
Готовые файлы
Загрузите архив и распакуйте в любую папку.
1. Задайте путь к папке и возраст файлов в скрипте CleanUp.cmd в одной из папок (каждая соответствует одному из описанных выше способов), после чего скопируйте все содержимое папки в %windir%\system32.
2.Щелкните правой кнопкой мыши на файле schedule.cmd и выберите Запуск от имени администратора, чтобы создать задание.
Автор: Вадим Стеркин
источник
В Windows 7 имеется утилита для очистки диска, которую можно настроить для удаления заданных категорий файлов по расписанию. Она легко справится с очисткой временных файлов из расположений, известных системе, но не позволит удалять ненужные файлы из заданной вами папки. С помощью скриптов можно очищать не только временные файлы, но и любую папку. Например, я удаляю файлы из папок Test и Temp, которые служат для экспериментов и временного хранения файлов как в загрузках, так и документах.
В отличие от программных чистильщиков, скрипты можно гибко настроить, а регулярность выполнения очистки легко реализовать с помощью планировщика заданий Windows.
В статье вы найдете примеры двух скриптов и рассказ о том, как настроить задачу в планировщике одной командой. Вы также сможете скачать готовые файлы и создать задание для очистки папок за пару минут.
Скрипты
Вы можете воспользоваться на выбор скриптами CMD и VBS.
CMD
Можно использовать утилиту командной строки forfiles.exe, входящую в состав Windows 7 (когда-то она входила в Windows 2000 Resource Kit). Одной командой удаляются все файлы из указанной папки и вложенных в нее.
Нажмите меню "Пуск"=>Введите cmd => По найденному объекту кликните правой кнопкой мыши и выберите пункт Запустить с правами администратора"
Код:
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
-Если не хотите удалять защищенные файлы, закомментируйте строку
Код:
‘ oI.Attributes = 0
Скрипт можно запускать из командного файла (CMD).
Код:
cscript //Nologo MyCleanUp.VBS 14 %windir%\temp >MyCleanupScript.Log
Вместо %windir%\temp подставьте свою папку (в этом примере удаляются файлы из временной папки в системном каталоге)
Возраст файлов по умолчанию 14 дней, но вы можете задать любое значение
Список удаленных файлов будет по умолчанию сохранен в файле %windir%\system32\MyCleanupScript.Log, хотя можно указать любой путь и имя файла
Как и в случае с утилитой forefiles.exe, можно реализовать очистку различных папок, указав каждую в отдельной команде.
Выполнение очистки по расписанию
Для выполнения очистки папки по расписанию нужно создать скрипт с именем 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 и выберите Запуск от имени администратора, чтобы создать задание.
Автор: Вадим Стеркин
источник
Последнее редактирование модератором: