Whatever message this page gives is out now! Go check it out!
DirectoryList(path [,recurse] [,listInfo] [,filter] [,sort] [,type] )Parameter | Description | |
path | The absolute path of the directory for which to list the contents. Alternatively, you can specify IP address as in the following example: DirectoryList("//12.3.123.123/c_drive/test");. | |
recurse | Whether ColdFusion performs the action on subdirectories: If true, contents of all subdirectories are also listed. | |
listInfo |
| |
filter | File extension filter applied to returned names, for example, *.cfm. Multiple filters can be applied by using a pipe delimiter. For example: *.beer|*.cookies Also, you can pass a function in the filter argument:
The arguments of the passed functions must have:
Additionally, it can also accept the instances of Java FileFilter Objects. | |
sort | Query columns by which to sort a directory listing. Delimited list of columns from query output.To qualify a column, use one of the following values:
| |
| type |
|
<cfscript>
localFiles = directoryList( expandPath( "./" ), false, "name" )
writeDump(localFiles)
</cfscript><cfscript>
queryOfFiles = directoryList( expandPath( "./" ), false, "query", "", "DateLastModified DESC" );
writeDump(queryOfFiles)
</cfscript>component {
this.name ="ListDirectoryFilter"
void function onApplicationStart(){
if( FindNoCase(server.os.name,"mac os x") OR FindNoCase(server.os.name,"unix")){
application.slash="/";
}
else{
application.slash="\";
}
}
}<cfscript>
boolean function filterByParent (fileFilter) {
var nameList = expandPath(".")&application.slash&"folder";
if(listFindNoCase(nameList,fileFilter.parent)) return true;
return false;
}
filteredResults = directorylist(expandPath("."), true, "name", filterByParent);
writeDump(filteredResults)
</cfscript><cfscript>
boolean function filterByTypeDir(fileFilter) {
if(fileFilter.type is "dir") return true;
else return false;
}
filteredResults = directorylist(expandPath("./.."), true, "name", filterByTypeDir, "extension asc", "dir");
writeDump(filteredResults)
</cfscript><cfscript>
boolean function filterBySize (fileFilter) {
var extensionList = "cfm";
if(fileFilter.extension is extensionList) return true;
else return false;
}
filteredResults = directorylist(expandPath("."), true, "name", filterBySize, "fileFilter.name DESC","all");
writeDump(filteredResults)
</cfscript><cfscript>
boolean function filterByAttributes (fileFilter) {
var attribList = "RH,R";
if(listFindNoCase(attribList,fileFilter.attributes)) return true;
else return false;
}
filteredResults = directorylist(expandPath("./.."), true, "name", FilterByAttributes);
writeDump(filteredResults)
</cfscript><cfscript>
boolean function filterByDate (fileFilter) {
if(DateDiff("s",fileFilter.lastmodifieddate,now())>1)
{
return true;
}
else return false;
}
filteredResults = directorylist(expandPath("."), true, "name", filterByDate);
writeDump(filteredResults)
</cfscript><cfscript>
boolean function filterByName (fileFilter) {
var nameList = "ReadOnly.txt,directorylist.cfm";
if(ListContains(nameList,fileFilter.name)) return true;
return false;
}
filteredResults = directorylist(expandPath("."), true, "name", filterByName);
writeDump(filteredResults)
</cfscript><cfscript>
// Verify list Directory returns appropriate results when name size is used
boolean function filterBySize (fileFilter) {
if(fileFilter.size>100)
{
return true;
}
return false;
}
filteredResults = directorylist(expandPath("."), true, "name", filterBySize);
writeDump(filteredResults)
</cfscript>