Livecode Wiki
Advertisement

List the files in a folder.Syntax:

files([<targetFolder>])

Examples:

put files(specialFolderPath("documents")) into field "Current Docs"
sort lines of field "Current Docs" international
local tTotalSize
repeat for each line tFileInfo in the detailed files
   add item 3 of tFileInfo to tTotalSize
end repeat
answer merge("The files in the current folder use" && \
      "tTotalSize bytes")
put the files & return & the folders into \
      diskContents[the defaultFolder]
filter diskContents[the defaultFolder] without ".."

Return(glossary) a list of files in the targetFolder, with one file per line. If no targetFolder is specified, list the files in the current folder.

Folders are not included in the list. To get a list of folders, use the folders function.

Aliases (on OS X systems), symbolic links (on Linux systems) and shortcuts (on Windows systems) are included in the list only if they refer to a file.

The order that files are listed is platform-dependent. The order may vary between platforms, between filesystems, and even between consecutive calls to the files function. If you need a sorted list, use the sort command.

      1. Short form

When the files is called as a function, or without the `long` or `detailed` modifiers, it returns only the file names as a string with one file name per line.

On some platforms, file names are permitted to include the linefeed character. Such a file name would be split across more than one line of the string returned by the files function.

      1. Long form

`the long files` and `the detailed files` are synonyms. When the files function is called in this form, the return(glossary) value is a list of files with detailed file attributes.

Each line in the return value is a comma-separated list of file attributes, as follows:

1. **Name**. The file name is URL-encoded. To obtain the name as

  plain text, use the URLDecode function.

2. **Size**, in bytes. On OS X systems, this is the size of the [[data

  fork]].

3. **Resource fork size**, in bytes. (OS X only). 4. **Creation date**, in seconds. (OS X and Windows only). 5. **Last modification date**, in seconds. 6. **Last access date**, in seconds. 7. **Last backup date**, in seconds. 8. **User owner**. (Linux and OS X only). 9. **Group owner**. (Linux and OS X only). 10. **Permissions**. (Linux and OS X only; see note). 11. **Creator and file type**. (OS X only).


Any attribute that is not relevant to the current platform is left empty.

The access permissions consist of three octal digits, in the same form used for the umask property.

On Windows, the permissions are always reported as "777".

Changes: The long form was introduced in version 1.1. The optional targetFolder argument for the function call form was introduced in version 8.1.

See also: specialFolderPath (function),defaultFolder (property),umask (property),

Advertisement