我已经被要求解决以下问题:在新创建的文件夹中批量复制3个文件。例如:在文件夹中,让我们说“D:/ TEST_CF /”有20个txt文件。将它们除以3(批次 - 给我们6剩余2),创建7个文件夹(以便将3个批次放置在6个文件夹中,其余2个文件放置在第7个文件夹中)。我到现在为止所做的是创建所需的文件夹。但是,我无法将文件复制到新建文件夹中的3个批次中。我应该如何解决上述问题?使用ColdFusion复制文件夹中的文件(openBD引擎)
代码块
<html>
<body>
<cfprocessingdirective pageencoding="UTF-8">
<cfset directory = "D:/TEST_CF/">
<cfdirectory directory="#directory#" name="files" action="list" type="file">
<cfset filecount = #files.RecordCount#>
<cfset divisor = 3>
<cfset division = #filecount#/#divisor#>
<cfset remainder = #filecount# MOD #divisor#>
<cfset folders_to_create = Ceiling(#division#)>
<cfoutput>
<cfif directoryExists(directory)>
<cfdirectory action="list" directory="#directory#" name="directories" recurse="true" type="dir" />
<cfloop query="directories">
<cfdirectory action="delete" directory="#directory#/#directories.name#" recurse="yes">
</cfloop>
</cfif>
<cfloop from="1" to="#folders_to_create#" index="i">
<cfdirectory
action="create"
directory="#directory#newfolder#i#">
</cfloop>
<cfif folders_to_create EQ 1>
#folders_to_create# folder created
<cfelse>
#folders_to_create# folders created
</cfif>
</cfoutput>
</body>
</html>
是什么导致你困难的部分 - 复制文件或做threesies? – 2013-04-07 16:35:15
@Dan Bracuk导致我问题的部分是复制。我已经使用cfc改变了上述过程。创建文件夹后,所有文件(20)都将复制到第一个文件夹中。对于cfm遵循[http://pastebin.com/ugrjPJ7W]和cfc遵循[http://pastebin.com/yXinvtvr] – anarchos78 2013-04-07 20:10:10
我现在没有确切的syntac,但在您的文件夹内创建循环,可以你做一个第二循环,你用文件名文件[1] .filename,file [2] .filename等复制文件...我可以在明天发布一个示例代码 – steve 2013-04-08 02:53:36