Zum Hauptinhalt springen

Alle Dateinamen eines Verzeichnisses abrufen (file.list)

Deklaration

dateiliste, fehlermeldung = file.list(Dateipfad [, vollständige_tiefe_Durchsuchung])

Parameter

  • Dateipfad
    Text; absoluter Verzeichnispfad
  • Vollständige Tiefendurchsuchung (unterstützt ab Version 20250313)
    Boolescher Wert; optional, rekursive Durchsuchung von Unterverzeichnissen und Rückgabe vollständiger Pfade, standardmäßig false

Rückgabewerte

  • Dateiliste
    Sequenzielle Tabelle oder nil; bei nicht vorhandenem Verzeichnis oder einem Dateipfad nil, andernfalls Liste der Dateien im Verzeichnis
  • Fehlermeldung
    Text; Fehlermeldung bei einem Fehlschlag

Beschreibung

Ruft alle Dateinamen eines Verzeichnisses ab.

Beispiel

local list, err = file.list("/var/mobile/")
if list then
print("目录 `/var/mobile/` 中有"..#list.."个文件或目录")
for _, name in ipairs(list) do
print(name)
end
sys.alert(print.out())
else
sys.alert("`/var/mobile/` 不是目录:"..err)
end

Hinweis: Der obige Code verwendet die Funktion sys.alert, die nicht zu diesem Kapitel gehört.

Beispiel für vollständige Tiefendurchsuchung

-- Vollständige Dateipfade = file.list(Dateipfad, vollständige Tiefendurchsuchung)
-- Ruft die Dateinamensliste eines Verzeichnisses ab. Der zweite Parameter steuert, ob vollständige Pfade von Dateien in Unterverzeichnissen rekursiv abgerufen werden; standardmäßig false.
list = file.list("/var/mobile/Media/1ferver", true)
nLog(list)
--[[
Mögliche Ausgabe
{ -- table: 0xc4cc58a30
[1] = "/var/mobile/Media/1ferver/snippets/syntax - do __ end.snippet",
[2] = "/var/mobile/Media/1ferver/snippets/app - app.uninstall(bid).snippet",
[3] = "/var/mobile/Media/1ferver/snippets/test - snippet.snippet",
...
}
--]]

Hinweis: Der obige Code verwendet die Funktion nLog, die nicht zu diesem Kapitel gehört.