MTA:Eir/FileSystem/translator/getFiles: Difference between revisions
Jump to navigation
Jump to search
mNo edit summary |
mNo edit summary |
||
| Line 4: | Line 4: | ||
==Syntax== | ==Syntax== | ||
<syntaxhighlight lang="lua"> | <syntaxhighlight lang="lua"> | ||
table translator | table translator:getFiles ( string dirPath, string wildcard, bool recursive ) | ||
</syntaxhighlight> | </syntaxhighlight> | ||
| Line 27: | Line 27: | ||
-- Query the counts. | -- Query the counts. | ||
fileCount = #getFiles( path, "*", false ); | fileCount = #resRoot:getFiles( path, "*", false ); | ||
dirCount = #getDirs( path, false ); | dirCount = #resRoot:getDirs( path, false ); | ||
-- Return the counts. | -- Return the counts. | ||
Latest revision as of 23:30, 16 January 2022
This function returns a list of all files that are found under the wild-card and directory parameters. It is similar to scanDir but returns files only.
Syntax
table translator:getFiles ( string dirPath, string wildcard, bool recursive )
Arguments
- dirPath: a path to the directory the scan shall take place or start in
- wildcard: glob-style wild-card for filename matching; every filename that matches the wild-card is returned
- recursive: a boolean that specifies whether the whole directory tree at dirPath should be included into the scan
Returns
This function returns a table of all matching file entries for the performed scan. It returns false if dirPath is not a valid directory target for the translator.
Example
Click to collapse [-]
ClientThis snippet is yet another alternative to output the count of directories and files in a folder.
-- Get a handle to the resource instance directory.
local resRoot = fileCreateTranslator( "/" );
local function getFilesystemObjectCounts( path )
local fileCount = 0;
local dirCount = 0;
-- Query the counts.
fileCount = #resRoot:getFiles( path, "*", false );
dirCount = #resRoot:getDirs( path, false );
-- Return the counts.
return fileCount, dirCount;
end
-- Output the filesystem object counts for the resource instance root.
local fileCount, dirCount = getFilesystemObjectCounts( "/" );
outputChatBox( "found " .. fileCount .. " files and " .. dirCount .. " directories in the resource folder root." );