如何包含ColdFusion代码但没有处理?

时间:2012-07-02 17:05:34

标签: coldfusion coldfusion-8 cffile

我正在使用ColdFusion 8。

我正在创建一些代码,用于创建文件夹并插入文件。该文件稍后将由人类调整。

我创建了这样的目录:

<cfdirectory action="create" directory="#LOCAL.PathToCreate#">

接下来,我需要创建一个名为index.cfm的文件。现在,需要进入index.cfm文件的内容在Test-21-index.txt中。我创建了这样的内容:

<cfsavecontent variable="LOCAL.MyContent">
    <cfinclude template="Test-21-index.txt">
</cfsavecontent>
<cffile action="write" file="#NewTreatmentPath##LOCAL.NewFile#" output="#LOCAL.MyContent#" nameconflict="overwrite">

Test-21-index.txt的内容中包含ColdFusion代码。我遇到的问题是,当我包含文件Test-21-index.txt时,正在运行ColdFusion代码。

如何将代码创建为在创建文件期间未运行的文本文件?

更新〜有了这么多可用于实现我的解决方案的工具,我只需要正确的组合。我只是复制了文件,而不是使用cfsavecontent读取文件,然后编写文件。啊。这太容易了。

<cffile action="copy" source="#CurrentDirectory#\#LOCAL.FileToInclude#" destination="#NewTreatmentPath#\#LOCAL.NewFile#">

1 个答案:

答案 0 :(得分:6)

您可以使用cfinclude读取文件,然后在cffile标记中输出其内容,而不是使用cfsavecontent

<cffile action="read" file="test-21-index.txt" variable="fileContent" />

<cfsavecontent variable="LOCAL.MyContent">
   <cfoutput>#filecontent#</cfoutput>
</cfsavecontent>

<!--- or even <cfset LOCAL.MyContent = fileContent /> --->

<cffile action="write" file="#NewTreatmentPath##LOCAL.NewFile#" output="#LOCAL.MyContent#" nameconflict="overwrite">

代码未经测试,但我认为它应该可行。我相信你需要稍微改变test-21-index.txt的路径。