Saltar al contenido principal

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.