Hier eine Lösungsmöglichkeit, um in einem Verzeichnis nach allen Tar-Dateien zu suchen und die Inhalte im selbigen zu entpacken (durch leichte Modifikation natürlich anpassbar). Anschließend werden die entpackten Archive gelöscht. Da der UNIX “tar”-Befehl verwendet wird, geht das ganze nur auf UNIX Systemen. Hinweis: Bei mehr als 2000-3000 Dateien im Verzeichnis würde ich das nicht so anwenden, da zu uneffizient/langsam. Aber das ist ein anderes Thema :)
Wie immer sind Verbesserungsvorschläge (Kommentare) erwünscht. Aus pragmatischen Gründen wird dann der folgende Code jedes Mal entsprechend erneuert:
class ApplicationController < ApplicationController::Base def untar result = '' Dir.open(PATH_TO_DIR).each do |file| next if file !~ /tar$/ result += 'Extracting ' + file + '... ' if system('cd ' + PATH_TO_DIR + '; tar -xf ' + file) result += 'done!<br/>Deleting ' + file + '... ' if FileUtils::rm_r(PATH_TO_DIR + file) result += 'done!<br />' else result += 'error!<br />' end else result += 'error!<br />' end processed = true end result += '<br />Extraction completed!' result = 'No compressed files found.' if processed.nil? render(:text => result) end end
PS: Manuel, vielen Dank für dieses WP! Sehr sehr schön. Viele Plugins, schöne Bilder und einfach schön! Wie wär’s, wenn du jetzt noch GANZ SCHNELL ein Ruby-Syntax-Highlight installierst :) DANKE!

Ich heiße Captain Future und meine Leidenschaft ist es die Brücke zwischen Menschen und Technik zu schlagen.