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
Lua base functions
Lua bc (big number) functions
Lua bit manipulation functions
Lua coroutine functions
Lua debug functions
Lua io functions
Lua math functions
Lua os functions
Lua package functions
Lua PCRE regular expression functions
Lua script extensions
Lua string functions
Lua table functions
Lua utilities
Scripting
Lua functions
utils.base64decode (Decode a string which was base-64 encoded)
utils.base64encode (Encode a string with base-64 encoding)
utils.choose (Display a combo box with choices in it)
utils.compress (Compress a string)
utils.decompress (Decompress a string)
utils.editbox (Display a large message box and get free-format reply)
utils.edit_distance (Returns the Levenshtein Edit Distance between two words)
utils.filepicker (Invokes the Windows standard "file picker" dialog box)
utils.fromhex (Convert a string from hex)
utils.functionlist (Returns a table of MUSHclient world function names)
utils.hash (Hash a string, returning the hex codes)
utils.info (Information about directories)
utils.inputbox (Display a message box and get free-format reply)
utils.listbox (Display a dialog box with choices in it in a single selection list box)
utils.md5 (Hash a string using the 128-bit MD5 algorithm)
utils.metaphone (Returns metaphones (sound-alike codes) for the supplied word)
utils.msgbox (Display a message box and get a response)
utils.multilistbox (Display a dialog box with choices in it in a multiple selection list box)
utils.sha256 (Hash a string using a 256-bit hash)
utils.spellcheckdialog (Spell-checker dialog)
utils.split (Split a delimited string into a table)
utils.tohex (Convert a string into hex)
utils.utf8decode (Encodes a series of Unicode codes into a UTF-8 string)
utils.utf8encode (Encodes a series of Unicode codes into a UTF-8 string)
utils.utf8valid (Checks if a UTF-8 string is valid)
utils.xmlread (Parses an XML string into a nested table)
(Help topic: lua=utils.readdir)
Documentation contents page
|