MTA:Eir/FileSystem/translator/getFiles: Difference between revisions

From Multi Theft Auto: Wiki
Jump to navigation Jump to search
mNo edit summary
mNo edit summary
 
(One intermediate revision by one other user not shown)
Line 4: Line 4:
==Syntax==
==Syntax==
<syntaxhighlight lang="lua">
<syntaxhighlight lang="lua">
table translator.getFiles ( string dirPath, string wildcard, bool recursive )
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 [-]
Client

This 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." );

FileSystem Translator Functions