Created
June 4, 2016 03:58
-
-
Save ZephiroRB/6b0aa7409419d05a44430852122df690 to your computer and use it in GitHub Desktop.
Organiza tus Carpetas con ruby, Sorting Folders with Ruby
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# Sorting Folders (Downloads) | |
# Organizar tus Folders rapidamente. | |
# Desarrollado por Carlos Montalvo (zetanova.com) 2016 | |
require 'fileutils' | |
require 'time' | |
excludes_files = [ | |
/sorting.rb/i, | |
/^[12][0-9]{3}$/i, | |
/\$/i | |
] | |
re = Regexp.union(excludes_files) | |
my_files = Dir["*"].sort_by { |a| File.stat(a).ctime } | |
my_files.reverse.each do |filename| | |
next if filename.match(re) | |
ctime = File.stat(filename).ctime | |
structure_folders = "#{ctime.strftime("%Y")}/#{ctime.strftime("%m")}/#{ctime.strftime("%d")}" | |
unless ctime.strftime("%Y-%m-%d") == Time.now.strftime("%Y-%m-%d") | |
FileUtils::mkdir_p "#{structure_folders}" unless File.directory?("#{structure_folders}") | |
FileUtils.mv(filename, "#{structure_folders}/") | |
end | |
puts "#{filename}" | |
end |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Lo escribe para facilitarme el echo de ordenar la carpeta downlodas (Descargas), soy de las personas que descarga muchas cosas al día, esto provoca que al final de la semana tenga muchos archivos y tengo que estar observando cuando las descarge, el script lee todos los archivos menos los que he bajado hoy, y los va metiendo en carpetas segun su fecha de descarga. Para sacarle mas provecho añado el script a un cron diario. asi cada vez que me levanto todos los archivos estan ordenados.
ruby sorting.rb