在ColdFusion中,我正在使用<cfdirectory
建立一个新目录。然后,我需要将几个文件从一个目录复制到新目录,并保持相同的文件名。我可以使用循环来执行此操作,但是我想知道cffile中是否有任何函数可以一次复制多个文件。
繁琐-使用reploc和newloc作为源目录和目标目录:
<cfdirectory
directory = 'newloc'
action = 'create'
mode = 777>
<cfoutput>
<cfset extrep = ExpandPath('reploc')>
<cfset extnew = ExpandPath('newloc')>
<cfset flist = 'a.cfm', 'b.cfm'>
<cfloop list = '#flist#' index = 'item'>
<cffile
action = "copy"
source = "#extrep#/#item#"
destination = "#extnew#/#item#"
mode = "766" >
</cfloop>
</cfoutput>
我正好要复制四个文件。它们是固定的,不依赖于任何用户输入。
我希望<cffile
支持复制多个文件,但是我找不到任何可以复制的文件。谁能建议一种更简化的方法来设置带有四个文件的目录?
答案 0 :(得分:6)
不。顾名思义,cffile
仅对单个文件起作用。
但是,您可以对文件filter
使用DirectoryCopy()或<cfdirectory action="copy">
。下面的示例将文件“ a.cfm”和“ b.cfm”复制到目标文件夹。
CFScript / CFML:
DirectoryCopy("c:\path\source", "c:\path\target", false, "a.cfm|b.cfm")
CFML:
<cfdirectory action="copy"
directory="c:\path\source"
destination="c:\path\target"
filter="a.cfm|b.cfm">