Ruby List-Datei im Ordner
Stewart Nguyen
21 Juni 2023
Ruby
Ruby File
- Erstellen Sie einen Musterordner
-
Verwenden Sie
Dir::[]
, um alle Dateien in einem Ordner aufzulisten -
Verwenden Sie
Dir.glob
, um alle Dateien in einem Ordner aufzulisten

Dieser Artikel stellt verschiedene Möglichkeiten vor, alle Dateien in einem bestimmten Ordner in Ruby aufzulisten.
Erstellen Sie einen Musterordner
Bitte verwenden Sie diese Befehlszeilen, um eine Ordnerstruktur in Ihrem aktuellen Verzeichnis zu erstellen.
mkdir parent_folder
touch parent_folder/music_1.txt
touch parent_folder/music_2.txt
mkdir parent_folder/child_folder
touch parent_folder/child_folder/doc_1.txt
touch parent_folder/child_folder/doc_2.txt
Verwenden Sie Dir::[]
, um alle Dateien in einem Ordner aufzulisten
Verwenden Sie Dir[<path_to_folder>/*]
, es gibt ein Array zurück, das alle Dateinamen und Ordnernamen innerhalb von path_to_folder
enthält.
Danach verwenden wir die File.file?
-Methode, um die Dateinamen aus dem Ergebnis auszuwählen.
Beispiel:
files = Dir['parent_folder/*'].select { |path| File.file?(path) }
puts files
Ausgang:
parent_folder/music_1.txt
parent_folder/music_2.txt
Um Dateien rekursiv innerhalb von Unterordnern aufzulisten, können wir dieses Muster anwenden:
files = Dir['parent_folder/**/*'].select { |path| File.file?(path) }
puts files
Ausgang:
parent_folder/music_1.txt
parent_folder/music_2.txt
parent_folder/child_folder/doc_2.txt
parent_folder/child_folder/doc_1.txt
Verwenden Sie Dir.glob
, um alle Dateien in einem Ordner aufzulisten
Der Aufruf von Dir.glob
entspricht dem Aufruf von Dir[<path_to_folder>]
.
Beispiel:
files = Dir.glob('parent_folder/**/*').select { |path| File.file?(path) }
puts files
Ausgang:
parent_folder/music_1.txt
parent_folder/music_2.txt
parent_folder/child_folder/doc_2.txt
parent_folder/child_folder/doc_1.txt
Genießen Sie unsere Tutorials? Abonnieren Sie DelftStack auf YouTube, um uns bei der Erstellung weiterer hochwertiger Videoanleitungen zu unterstützen. Abonnieren