Garbage Collection dla katalogu Downloads

W przeszłości dość częstym widokiem był u mnie taki katalog Downloads:

Było to spowodowane niechęcią do selektywnego usuwania śmieci, a na niektórych ściągniętych plikach przez krótki okres pracowałem (np. wzory podań, czy umów). Aby zapobiec bałaganowi napisałem prosty skrypt w ruby, kasujący nieużywane pliki:

require 'date'
 
PATHS = [
    %q{C:/Users/KrzaQ/Downloads},
]
 
NOW = Time.now
TIME_DIFF = 3 * 24 * 3600
 
PATHS.each do |path|
    Dir["#{path}/*"].reject{ |path|
        File.directory? path
    }.select{ |path|
        NOW - TIME_DIFF > File.open(path, 'r'){ |f| [f.atime, f.birthtime].max }
    }.sort.each do |f|
        p f
        begin
            File.delete f
        rescue => e
            p e.message
        end
    end
end

Instalacja jest dość prosta. Należy zapisać plik na dysku (duh):

Następnie dodajemy nowe zadanie do harmonogramu zadań:

Mój trigger: codziennie o północy, powtarzaj co pół godziny.

Akcja (wymaga ruby w ścieżce): cmd.exe
Parametr: /C ruby %USERPROFILE%/scripts/clean_downloads.rb

Ostatecznie pozwala mi to cieszyć się takim widokiem:

5 thoughts on “Garbage Collection dla katalogu Downloads

  1. Ja dla odmiany korzystam z Download jak z katalogu wszystkiego i używam czegoś takiego jak “classification” świetna biblioteka do sortowania plików do odpowiednich katalogów 🙂

Leave a Reply

Your email address will not be published.