utils.readdir
Lua function

utils.readdir

Summary

Read a disk directory into a table

Prototype

t = utils.readdir (s)



Description

You can use utils.readdir to read an entire directory on your PC into a Lua table, based on the wildcard you supply.


For example:


t, e = utils.readdir ("c:/mushclient/plugins/*.xml")

assert (t, e) -- raises error on failure



If the directory specification is matched, the result from the call is a table of directory items, keyed by the filename. If the directory specification cannot be matched, or is invalid, it returns nil followed by an error message. You can simply test for non-nil, or call "assert" to report the error.

For each file in the directory (that matches the wildcard) the following is returned:


  • size - file size in bytes
  • create_time - creation time (except for FAT filesystems, where it is omitted)
  • access_time - last access time (except for FAT filesystems, where it is omitted)
  • write_time - time written
  • archive - true if archive. Set whenever the file is changed, and cleared by the BACKUP command.
  • hidden - hidden file. Not normally seen with the DIR command
  • normal - normal file. File can be read or written to without restriction.
  • readonly - read-only. File cannot be opened for writing, and a file with the same name cannot be created.
  • directory - Subdirectory.
  • system - system file. Not normally seen with the DIR command.


By detecting suddirectories you could conceivably recurse and find the contents of subdirectories as well.



See Also ...

Topics

DOC_lua_base Lua base functions
DOC_lua_bc Lua bc (big number) functions
DOC_lua_bit Lua bit manipulation functions
DOC_lua_coroutines Lua coroutine functions
DOC_lua_debug Lua debug functions
DOC_lua_io Lua io functions
DOC_lua_math Lua math functions
DOC_lua_os Lua os functions
DOC_lua_package Lua package functions
DOC_lua_rex Lua PCRE regular expression functions
DOC_lua Lua script extensions
DOC_lua_string Lua string functions
DOC_lua_tables Lua table functions
DOC_lua_utils Lua utilities
DOC_scripting Scripting

Lua functions

LUA_utils.base64decode utils.base64decode (Decode a string which was base-64 encoded)
LUA_utils.base64encode utils.base64encode (Encode a string with base-64 encoding)
LUA_utils.choose utils.choose (Display a combo box with choices in it)
LUA_utils.compress utils.compress (Compress a string)
LUA_utils.decompress utils.decompress (Decompress a string)
LUA_utils.editbox utils.editbox (Display a large message box and get free-format reply)
LUA_utils.edit_distance utils.edit_distance (Returns the Levenshtein Edit Distance between two words)
LUA_utils.filepicker utils.filepicker (Invokes the Windows standard "file picker" dialog box)
LUA_utils.fromhex utils.fromhex (Convert a string from hex)
LUA_utils.functionlist utils.functionlist (Returns a table of MUSHclient world function names)
LUA_utils.hash utils.hash (Hash a string, returning the hex codes)
LUA_utils.info utils.info (Information about directories)
LUA_utils.inputbox utils.inputbox (Display a message box and get free-format reply)
LUA_utils.listbox utils.listbox (Display a dialog box with choices in it in a single selection list box)
LUA_utils.md5 utils.md5 (Hash a string using the 128-bit MD5 algorithm)
LUA_utils.metaphone utils.metaphone (Returns metaphones (sound-alike codes) for the supplied word)
LUA_utils.msgbox utils.msgbox (Display a message box and get a response)
LUA_utils.multilistbox utils.multilistbox (Display a dialog box with choices in it in a multiple selection list box)
LUA_utils.sha256 utils.sha256 (Hash a string using a 256-bit hash)
LUA_utils.spellcheckdialog utils.spellcheckdialog (Spell-checker dialog)
LUA_utils.split utils.split (Split a delimited string into a table)
LUA_utils.tohex utils.tohex (Convert a string into hex)
LUA_utils.utf8decode utils.utf8decode (Encodes a series of Unicode codes into a UTF-8 string)
LUA_utils.utf8encode utils.utf8encode (Encodes a series of Unicode codes into a UTF-8 string)
LUA_utils.utf8valid utils.utf8valid (Checks if a UTF-8 string is valid)
LUA_utils.xmlread utils.xmlread (Parses an XML string into a nested table)

(Help topic: lua=utils.readdir)

DOC_contents Documentation contents page