Skip to main content

Exploring Lua Automation IDE: Listing Files in a Directory

Efficient File Handling and Enumeration with Lua Automation IDE

Lua Automation IDE is a powerful tool that provides developers with extensive capabilities for file handling and directory enumeration. In this article, we'll explore an example that showcases how to list the filenames of files in a specific directory using Lua Automation IDE. We'll also cover scenarios where the directory doesn't exist and how to customize the script to search for specific file types. Let's dive in!

luaCopy codelocal dir = "C:\\Temp"
local counter = 0

if directory.Exists(dir) == false then
    ui.Write("The directory '" .. dir .. "' does not exist")
    do return end
end

local files = directory.GetFiles(dir)

for k, v in pairs(files) do
    counter = counter + 1
    console.WriteToBuffer(v)
    console.WriteToBuffer("\r\n")
end

console.WriteToBuffer("\r\n" .. counter .. " files found.")
console.Flush()

In this code snippet, we start by specifying the directory path using the variable dir. We then check if the directory exists using directory.Exists(dir). If the directory doesn't exist, we display an error message and end the script early.

To list the filenames in the directory, we utilize the directory.GetFiles(dir) function. By default, this function returns all files in the specified directory. However, if you want to search for specific file types or patterns, you can uncomment the line that specifies a file type filter, such as local files = directory.GetFiles(dir, "*.jpg").

Next, we iterate over the resulting files using a for loop and the pairs() function. For each file, we increment the counter and print the filename to the console buffer using console.WriteToBuffer(v).

Finally, we display the total number of files found by appending the counter value to a string and writing it to the console buffer using console.WriteToBuffer("\r\n" .. counter .. " files found."). The console.Flush() function flushes the console buffer, ensuring that the output is displayed immediately.

Using Lua Automation IDE, you can efficiently handle files and directories, customize file type searches, and gather relevant information for your automation scripts.