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.