2

私はColdFusion8を使用しています。

フォルダを作成してファイルを挿入するコードを作成しています。ファイルは後で人間によって微調整されます。

次のようなディレクトリを作成します。

<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#">
4

1 に答える 1

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ただし、少し違った方法で道を切り開く必要があると思います。

于 2012-07-02T17:12:31.273 に答える