files

Typefunction
DictionaryLCS
LibraryLiveCode Script
Syntax
the [{ detailed | long }] files
files([<targetFolder>[, <outputKind>]])
Summary

List the files in a folder.

Introduced1.0
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. The detailed-utf8 form was introduced in version 9.6.

OSmac, windows, linux, ios, android, web
Platformsdesktop, server, mobile
Parameters
NameTypeDescription
targetFolder

The folder path to search.

outputKindempty: Use the short form
"detailed": Use the long/detailed form (deprecated)
"detailed-utf8": Use the long/detailed form encoding file names as UTF8 before URL-encoding.
Example
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")
local tDiskContents
put the files & return & the folders into \
      tDiskContents["the defaultFolder"]
filter tDiskContents["the defaultFolder"] without ".."
Values
NameTypeDescription
return

A list of file names or file information, with one file per line.

RelatedProperty: defaultFolder, umask
Constant: return
Keyword: long
Command: sort
Function: folders, specialFolderPath, URLDecode, textDecode
Glossary: alias, current folder, data fork, folder, function, platform, return, resource fork, shortcut, symbolic link
Securitydisk
Description

Return 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|symbolic links (on Linux systems) and shortcuts (on Windows systems) are included in the list only if they refer to a file.

Note: 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.

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.

Note: 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.

Long form

the long files and the detailed files are synonyms. When the files function is called in this form, the return 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 reliably obtain the name use the detailed-utf8 outputKind and decode using the URLDecode function followed by textDecode. For example, textDecode(URLDecode(item 1 of tLine), "utf8").
  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.

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

Tagsfile system