Автоматическая отчистка папки «Загрузки» (Downloads)

2013-05-15 Комментарии: 1 Посмотров: 8227

В основном, загружаемые файлы с интернета в первую очередь попадают в папку «Загрузки»… Как правило, файлы там и остаются, например архивы, rar, zip. После распаковки можно просто забыть их удалить. Со временем файлов становится больше, а свободного места меньше!


Сегодня я обнаружил, что моя папка «Загрузки» весит почти 30 Гб. Вот накачал, подумал я и решил, что надо как-то решать эту «проблему».

В голову пришло два варианта, как реализовать автоматическое удаление всех файлов из папки «Загрузки» каждый день в определённое время!

1) Простой пакетный файл, в народе «батник».
2) Тоже не сложный сценарий в «Windows PowerShell».

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

Пакетный файл.

Тут совсем все просто, и я имею все шансы получить по башке, за этот криво написанный батник. Знаю кривой, но зато работает хорошо!

Используется две простые команды «DIR» что бы вести «log» файл, в него попадают название удаляемых файлов, что бы при необходимости можно было посмотреть, что было удаленно, и команда «del» которая, в общем, и удаляется все из заданной директории.

@echo off
chcp 1251

DIR /B "C:\Users\ Ваше Имя \Downloads\*.*" >> C:\Temp\log.log
del /Q C:\Users\ Ваше Имя \Downloads\*.*;

Если Вам нужно удалять только, например zip архивы, то вместо «*.*» напишите «*.zip» и так далее.

Теперь сохраните файл с расширением «bat» например в «C:\temp\del.bat» Что нужно делать с ним дальше, расскажу немного позже!

Сценарий в «PowerShell»

Что такое «PowerShell» я рассказывать не буду, а в конце поста дам ссылку на загрузку не большой книги по «PowerShell»

Сценарий для удаления всех файлов из папки загрузка я написал такова вида.

$Directory = "C:\Users\Ваше Имя\Downloads"
$DeleteFiles = dir -path $Directory -recurse -IncLude *.*
$LogFile = "C:\Temp\log_Delete.log"

foreach ($file in $DeleteFiles){

if ($DeleteFiles) {
"Файл $file удалён " + (Get-date) >> $LogFile
del $file
} else {
"Файлов для удаления не существует " + (Get-date) >> $LogFile
   }
}

Принцип работы сценария такой: Если в папке загрузка имеются файлы, то он удаляет их все, и записывает в лог файл «log_Delete.log» имя файла, дату и время удаления.

Avtomaticheskaya_otchistka_papki_Zagruzki_Downloads

Если же папка «загрузки» была пустая на момент выполнения сценария, то в лог файл будет записана строка «Файлов для удаления не существует – Дата Время»

Теперь сохраните сценарий с расширением «ps1» и поместите файл, в нужную Вам директорию, например в «C:\temp\del.ps1»

Как автоматически использовать оба варианта.

Что бы «батник» или «сценарий PowerShell» автоматически запускались и чистили папку «Загрузки» нужно создать простую задачу. Для этого в меню Пуск в поле поиска введите «планировщик заданий» откройте его и нажмите ссылку «Создать простую задачу».

Создавать задачу будем на примере сценария!

Avtomaticheskaya_otchistka_papki_Zagruzki_Downloads2

В открывшемся окне введите любое имя задачи.

Avtomaticheskaya_otchistka_papki_Zagruzki_Downloads3

На следующем шаге, после нажатия кнопки «далее» выберете нужный Вам параметр.  Я выбрал «Ежедневно».

Avtomaticheskaya_otchistka_papki_Zagruzki_Downloads4

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

Avtomaticheskaya_otchistka_papki_Zagruzki_Downloads7

В окне выбора действия для задачи, поставьте отметку «Запустить программу»

Avtomaticheskaya_otchistka_papki_Zagruzki_Downloads5

На следующем шаге, в поле «Программа или сценарий» просто напишите «powershell» а в качестве аргумента укажите полный путь до файла «del.ps1»

Avtomaticheskaya_otchistka_papki_Zagruzki_Downloads6

Нажмите кнопку «Далее» затем «Готова» На этом создание простой задачи закончено.

Теперь сценарий будет выполняться каждый день в нужное для Вас время, и удалять все из папки «Загрузка»

Самое главное, после всех выше перечисленных действий, не забывать в папке «Загрузки» нужные Вам файлы и перемещать их в другой каталог, что бы они не были удалены!

Книга PowerShell.zip

2013-05-15 Комментарии: 1 Посмотров: 8227Помогла статья? Оставьте отзыв
8-8-2016Andrey

Здравствуйте, у меня проблема в том что в log нет записи о том что файлов не обнаружено (вариант powershell: Если же папка «загрузки» была пустая на момент выполнения сценария, то в лог файл будет записана строка «Файлов для удаления не существует – Дата Время»)

Ответить

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *