我可以使用 cffile 复制多个文件吗?
Can I use cffile to copy multiple files?
在 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
支持复制多个文件,但我找不到任何支持的内容。谁能建议一种更简化的方法来设置包含四个文件的目录?
没有。顾名思义,cffile
仅对单个文件进行操作。
但是,您可以将 DirectoryCopy() or <cfdirectory action="copy">
与文件 filter
一起使用。下面的示例将文件 "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">
在 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
支持复制多个文件,但我找不到任何支持的内容。谁能建议一种更简化的方法来设置包含四个文件的目录?
没有。顾名思义,cffile
仅对单个文件进行操作。
但是,您可以将 DirectoryCopy() or <cfdirectory action="copy">
与文件 filter
一起使用。下面的示例将文件 "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">