directoryCopy(source, destination [, nameConflict])
Last updated July 26, 2005
Version: 1 | Requires: ColdFusion MX | Library: FileSysLib
Description:
Deep copies a directory, copying all children. Nameconflict parameter allows you to specific any valid nameconflict attribute for the cffile action="copy" tag (skip / overwrite / makeunique / etc.).
Return Values:
Returns nothing.
Example:
Parameters:
| Name | Description | Required |
|---|---|---|
| source | Source directory. | Yes |
| destination | Destination directory. | Yes |
| nameConflict | What to do when a conflict occurs (skip, overwrite, makeunique). Defaults to overwrite. | No |
Full UDF Source:
<!---
Copies a directory.
@param source Source directory. (Required)
@param destination Destination directory. (Required)
@param nameConflict What to do when a conflict occurs (skip, overwrite, makeunique). Defaults to overwrite. (Optional)
@return Returns nothing.
@author Joe Rinehart (joe.rinehart@gmail.com)
@version 1, July 27, 2005
--->
<cffunction name="directoryCopy" output="true">
<cfargument name="source" required="true" type="string">
<cfargument name="destination" required="true" type="string">
<cfargument name="nameconflict" required="true" default="overwrite">
<cfset var contents = "" />
<cfset var dirDelim = "/">
<cfif server.OS.Name contains "Windows">
<cfset dirDelim = "\" />
</cfif>
<cfif not(directoryExists(arguments.destination))>
<cfdirectory action="create" directory="#arguments.destination#">
</cfif>
<cfdirectory action="list" directory="#arguments.source#" name="contents">
<cfloop query="contents">
<cfif contents.type eq "file">
<cffile action="copy" source="#arguments.source#\#name#" destination="#arguments.destination#\#name#" nameconflict="#arguments.nameConflict#">
<cfelseif contents.type eq "dir">
<cfset directoryCopy(arguments.source & dirDelim & name, arguments.destination & dirDelim & name) />
</cfif>
</cfloop>
</cffunction>
Search CFLib.org
Latest Additions
Raymond Compton added
structBlend
19 day(s) ago
Duncan added
IsZIPUK
19 day(s) ago
Todd Sharp added
getTagContentAll
25 day(s) ago
Gerald Guido added
ListReturnDuplicat...
1 month(s) ago
Gerald Guido added
ListReturnDuplicat...
1 month(s) ago