Obtener la lista de nombres de todos los archivos de un directorio (file.list)
Declaración
lista_de_archivos, mensaje_de_error = file.list(ruta_del_archivo [, recorrido_completo_en_profundidad])
Parámetros
- ruta del archivo
Tipo texto, ruta absoluta del directorio - recorrido completo en profundidad (compatible desde la versión 20250313)
Tipo booleano, parámetro opcional; indica si se recorren recursivamente los subdirectorios y se devuelve una lista de rutas completas; el valor predeterminado es false
Valores devueltos
- lista de archivos
Tipo tabla secuencial o nil; devuelve nil si el directorio no existe o la ruta es un archivo; de lo contrario, devuelve la lista de archivos del directorio - mensaje de error
Tipo texto, mensaje de error cuando la operación falla
Descripción
Obtiene la lista de nombres de todos los archivos de un directorio
Ejemplo
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
Nota: el código anterior usa la función sys.alert, que no pertenece a este capítulo.
Ejemplo de recorrido completo en profundidad
-- lista de rutas completas = file.list(ruta_del_archivo, recorrido_completo_en_profundidad)
-- Obtiene la lista de nombres de un directorio; el segundo parámetro controla si se obtienen recursivamente las rutas completas de los archivos de los subdirectorios; el valor predeterminado es false
list = file.list("/var/mobile/Media/1ferver", true)
nLog(list)
--[[
可能输出
{ -- 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",
...
}
--]]
Nota: el código anterior usa la función nLog, que no pertenece a este capítulo.