メインコンテンツまでスキップ

ディレクトリ内のすべてのファイル名を一覧で取得する (file.list)

宣言

ファイル一覧, エラー情報 = file.list(ファイルパス [, 完全再帰走査])

引数

  • ファイルパス
    文字列型。ディレクトリの絶対パス
  • 再帰的な完全走査(20250313 バージョン以降でサポート)
    ブール型の省略可能な引数。サブディレクトリを再帰的に走査し、完全なパスの一覧を返すかどうかを指定します。デフォルトは false です

戻り値

  • ファイル一覧
    配列型または nil。ディレクトリが存在しない場合、またはパスがファイルである場合は nil、それ以外の場合はディレクトリ内のファイル一覧を返します
  • エラー情報
    文字列型。操作に失敗した場合のエラー情報

説明

ディレクトリ内のすべてのファイル名を一覧で取得します

使用例

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

:上記のコードでは、この章以外の関数 sys.alert を使用しています

再帰的な完全走査の例

-- 完全なファイルパス一覧 = file.list(ファイルパス, 再帰的な完全走査)
-- ディレクトリ内のファイル名一覧を取得します。二つ目の引数で、サブディレクトリ内のファイルの完全なパス一覧を再帰的に取得するかどうかを指定します。デフォルトは 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",
...
}
--]]

:上記のコードでは、この章以外の関数 nLog を使用しています