<cfdirectory>

Handles interactions with directories.

This tag cannot have a body.

This tag is also supported within <cfscript>

<cfdirectory action=list|create|delete|forcedelete|rename|copy listinfo=string storeacl=object storelocation=string type=string serverpassword=string directory=string name=string filter=any filterdelimiters=string mode=string sort=string newdirectory=string destination=string recurse=boolean nameconflict=string createpath=boolean >
Attribute Description Default
action
string, optional

Defines the action to be taken with directory(ies) specified in directory.

list

listinfo
string, optional
  • all: includes all information in the result set.
  • name: includes only filenames in the result set.
storeacl
object, optional

An array of struct where each struct represents a permission or grant.

Example: [{email="xxx@yyy.com", permission="full_control"}, {group="all", permission="read"}]

Alias: acl

storelocation
string, optional

Only used for S3 Resources.

The location of the created bucket/object. The location can either be EU,US or US-WEST.

The default location is US.

Alias: storage

type
string, optional
  • file: includes only filenames.
  • dir: includes only directory names.
  • all: includes both filenames and directory names.
serverpassword
string, optional

Allow you to access filesystem, also when access is denied for your context

directory
string, required

The name of the directory to perform the action against.

name
string, optional

Required for action = "list". Ignored by all other actions. Name of output query for directory listing.

Alias: variable

filter
any, optional

Optional for action = "list". Ignored by all other actions.

Can be either:

  • a wildcard filter,e.g. "m*"
  • or a UDF/Closure which accepts the file/directory name and returns a Boolean value to indicate whether that item should be included in the result or not.
filterdelimiters
string, optional

Optional when passing a filter pattern. This value is used as a delimiter for the patterns. Default is the pipe "|" character.

mode
string, optional

Used with action = "Create" to define the permissions for a directory on UNIX and Linux platforms. Ignored on Windows.

Options correspond to the octal values of the UNIX chmod command. From left to right, permissions are assigned for owner, group, and other.

sort
string, optional

Optional for action = "list". Ignored by all other actions.

The query columns by which to sort the directory listing. Any combination of columns from query output can be specified in comma-separated list.

You can specify ASC (ascending) or DESC (descending) as qualifiers for column names. ASC is the default

newdirectory
string, optional

Required for action = "rename". Ignored by all other actions.

The new name of the directory specified in the directory attribute.

destination
string, optional

Required for action = "copy". Ignored by all other actions.

Path of the destination directory. If not an absolute path, it is relative to the source directory.

recurse
boolean, optional

Whether or not to include the content of any sub-directories

nameconflict
string, optional

When used with action="copy" the possible values are:

  • Overwrite
  • Error

When used with action="create" the possible values are:

  • Error
  • Skip

Ignored for all other actions.

createpath
boolean, optional
  • true (default), automatically create any parent directories which don't exist
  • false, all the parent directories must already exist or an error will be thrown

Usage Notes

For ACF compatibility, on Unix Systems, the mode column is currently not populated for action="list"

https://luceeserver.atlassian.net/browse/LDEV-2118

Examples

Simple format for cfdirectory

Directory Create

<cfdirectory action="create" directory="path of directory">

Directory List

<cfdirectory action = "list" directory = "pathOfDirectory" name = "list">

Directory Copy

<cfdirectory action = "copy" directory = "/pathOfDirectory" destination = "/pathOfDirector" nameconflict = "Overwrite" recurse = "true">

Directory Rename

<cfdirectory action = "rename" directory = "pathOfDirectory" newDirectory = "renameOfDirectory">

Directory Delete

<cfdirectory action = "Delete" directory = "pathOfDirectory" >

Directory Forcedelete

<cfdirectory action = "forcedelete" directory = "pathOfDirectory" >

See also