CFLib.org – Common Function Library Project

directoryCopy(source, destination [, nameConflict])

Last updated February 4, 2010
Download UDF

author

Joe Rinehart Joe Rinehart

Version: 2 | Requires: ColdFusion MX | Library: FileSysLib

 
Rated 1 time(s). Average Rating: 3.0

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:

<cfset directoryCopy("c:\inetpub\wwwroot", "c:\backups\wwwroot") />

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 2, February 4, 2010
--->

<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 = "" />
    
    <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

Shawn Porter Shawn Porter added
DeMoronize
3 hour(s) ago

Chris Carey Chris Carey added
readPropertiesFi...
1 day(s) ago

Randy Johnson Randy Johnson added
lastDayofWeek
3 day(s) ago

Frank Marion Frank Marion added
sitemapPing
7 day(s) ago

Top Rated

James Sleeman                                     QuickSort
Rated 5.0, 3 time(s)

Barney Boisvert indentXml
Rated 5.0, 3 time(s)

Nathan Dintenfass                                 queryColumnsToSt...
Rated 5.0, 3 time(s)

Kevin Pepperman generateSsccAsn
Rated 5.0, 3 time(s)

Created by Raymond Camden / Design by Justin Johnson