Frage

Ich versuche, einen einfachen Ruby-Skript zu schreiben, die eine Datei auf die unmittelbaren Verzeichnisse eines Verzeichnisses kopiert. Wie würde ich nur die unmittelbaren Unterverzeichnisse?

War es hilfreich?

Lösung

Dir.glob("**/") wird ein Array aller Pfade unterhalb des aktuellen Verzeichnisses zurück. Von dort können Sie die Liste filtern und eine Datei mit File.copy(from, to) kopieren

Andere Tipps

Sie nur Angenommen, wollte die sofort Unterverzeichnisse, könnten Sie Dir['*/'] (die Micheal Sepcot der und glenra die Antworten kombiniert).

Wenn Sie meinen, alles finden sofort Unterverzeichnisse (nur eine Ebene unterhalb wo Sie sind), versuchen Sie dies:

Dir.chdir("/some/path/you/want/to/check/below")
subdir_list=Dir["*"].reject{|o| not File.directory?(o)}

Das heißt: Verzeichnis wechseln irgendwo, eine Reihe von Dateien gibt, weisen diese Array-Elemente gefunden konstruieren, die keine Verzeichnisse sind, und die daraus gewonnenen Ergebnisse gekeult arrray

.

Wahrscheinlich der beste Weg, um mit Dateien in Ruby umzugehen, ist

scroll top