Allows you to list, create, delete or rename a directory in the server file system.

  <cfdirectory directory="." action="list|create|delete|rename">

 directoryList(".", false, " ");

Attribute Reference

action string
Default: list

Action to perform
  • list
  • create
  • delete
  • rename

directory string

Absolute pathname of directory against which to perform action.

name string

Name for output record set.

filter string

Filter applied to returned names. For example: *.cfm
You can use a pipe ("|") delimiter to specify multiple filters. For example: *.cfm|*.cfc
Filter pattern matches are case-sensitive on UNIX and Linux.

mode string

Applies only to UNIX and Linux. Permissions. Octal values of Unix chmod command. Assigned to owner, group, and other, respectively.

sort string
Default: asc

Query column(s) by which to sort directory listing.
Delimited list of columns from query output.
  • asc
  • desc

newdirectory string

New name for directory.

recurse boolean
Default: false

Whether ColdFusion performs the action on subdirectories.

type string
Default: all

  • dir
  • file
  • all

listinfo string
Default: all

  • name
  • all



In Lucee the filter param can be a closure as well where the path is passed in. It seems that there is no way to access the file query. If a directory returns false in recursive mode the contained files are processed anyways

Links more information about cfdirectory

Sample code using the cfdirectory tag

Returns a query

myList = directoryList(expandPath("./"), false, "query");


Directory Delete


directoryRename(expandPath("./my_directory"), expandPath("./new_directory"));

Directory List

<cfdirectory action="list" directory="#expandPath("./")#" recurse="false" name="myList">

<cfdirectory action="create" directory="#expandPath("./new_directory")#">

<cfdirectory action="delete" directory="#expandPath("./my_directory")#">

<cfdirectory action="rename" directory="#expandPath("./my_directory")#" newdirectory="#expandPath("./new_directory")#">

Signup for cfbreak to stay updated on the latest news from the ColdFusion / CFML community. One email, every friday.

Fork me on GitHub