<cffunction name="deleteEmptyFolders" output="false">
<cfargument name="path" required="true" />
<cfset var subfolders = "" />
<cfdirectory name="subfolders" action="list" directory="#path#" type="dir" />
<cfloop query="subfolders">
<cfset deleteEmptyFolders("#path#/#subfolders.name#") />
</cfloop>
<cftry>
<cfdirectory action="delete" directory="#path#" />
<cfcatch></cfcatch>
</cftry>
</cffunction>
Редактировать: ловушка ошибок существует только для того, чтобы упростить код и избежать других вызовов списка файлов. Вы также можете использовать это вместо ...
<cfdirectory name="files" action="list" directory="#path#" />
<cfif not files.recordcount>
<cfdirectory action="delete" directory="#path#" />
</cfif>