S
Stefan
Guest
Hallo miteinander,
ich benutze den Desktop oft als schnelle Ablagemöglichkeit für Dateien, die ich gleich wieder brauche. Mit der Zeit sammeln sich dort einige Dateien an.
Zum Aufräumen habe ich ein kleines Ruby-Skript geschrieben, welches den Desktop immer schön sauber hält. Zur Nutzung des Scripts muss Ruby (getestet mit 1.8.7) installiert sein. Am besten lässt man das Script automatisch regelmäßig ausführen.
Das Script funktioniert folgendermaßen: Auf dem Desktop einfach ein neues Verzeichnis anlegen (ich habe es »_keep« genannt), in welches das Script sowie eine Kopie aller Programmverknüpfungen/Dateien, welche das Script auf dem Desktop belassen soll, gelegt werden. Dabei kommt es nur auf die richtigen Dateinamen, nicht den Dateiinhalt an.
Das Script prüft dann bei der Ausführung wie alt (= letzte Dateiänderung) die Dateien auf dem Desktop sind, und verschiebt sie sonst chronologisch sortiert ins Archiv-Verzeichnis (standardmäßig »_Archiv« genannt). Das Alter kann konfiguriert werden, standardmäßig bleiben die Dateien 1½ Tage erhalten.
Änderungen dürfen gerne gemacht werden, einfach den neuen Code mit Beschreibung hier als Antwort einfügen. Der Quellcode ist ja recht übersichtlich.
ich benutze den Desktop oft als schnelle Ablagemöglichkeit für Dateien, die ich gleich wieder brauche. Mit der Zeit sammeln sich dort einige Dateien an.
Zum Aufräumen habe ich ein kleines Ruby-Skript geschrieben, welches den Desktop immer schön sauber hält. Zur Nutzung des Scripts muss Ruby (getestet mit 1.8.7) installiert sein. Am besten lässt man das Script automatisch regelmäßig ausführen.
Das Script funktioniert folgendermaßen: Auf dem Desktop einfach ein neues Verzeichnis anlegen (ich habe es »_keep« genannt), in welches das Script sowie eine Kopie aller Programmverknüpfungen/Dateien, welche das Script auf dem Desktop belassen soll, gelegt werden. Dabei kommt es nur auf die richtigen Dateinamen, nicht den Dateiinhalt an.
Das Script prüft dann bei der Ausführung wie alt (= letzte Dateiänderung) die Dateien auf dem Desktop sind, und verschiebt sie sonst chronologisch sortiert ins Archiv-Verzeichnis (standardmäßig »_Archiv« genannt). Das Alter kann konfiguriert werden, standardmäßig bleiben die Dateien 1½ Tage erhalten.
Code:
# _cleanup.rb Stefan 07.06.2012
# reqires ruby 1.8.7
require 'FileUtils'
# configuration
archiv_dir = '_Archiv'
current_dir = Dir.getwd[/[^\/]+$/]
do_not_move = [archiv_dir, current_dir]
age = (24+12)*60 # minutes
verbose = false
# remove unnecessary files
FileUtils.rm_f ['ZbThumbnail.info', 'thumbs.db'].map{|x| "../#{x}"}
# gathering the data
do_not_move += Dir.entries('.') - [__FILE__[/[^\/]+$/]]
desktop = Dir.entries '..'
# do it
(desktop - do_not_move).each do |f|
if (f_time = File.ctime("../#{f}")) < Time.now - age*60
FileUtils.mkdir_p "../#{archiv_dir}/#{f_time.strftime '%Y'}/#{f_time.strftime '%Y-%m-%d'}"
FileUtils.mv("../#{f}", "../#{archiv_dir}/#{f_time.strftime '%Y'}/#{f_time.strftime '%Y-%m-%d'}/#{f}")
puts "moved #{f} to #{f_time.strftime '%Y-%m-%d'}/#{f}" if verbose
else
puts "kept #{f} for #{'%.2f' % ((f_time - Time.now + age*60)/(60*60))} h" if verbose
end
end
Änderungen dürfen gerne gemacht werden, einfach den neuen Code mit Beschreibung hier als Antwort einfügen. Der Quellcode ist ja recht übersichtlich.