サーバーはWindowsです。
私がやろうとしているのは、一時ファイルに出力するプログラムを実行するバッチを作成することです。私はこのバッチを作成することができ、cffile を使用して「変更された」ファイルを読み取るまで、すべてが機能することがわかっています...この場合、何も変更されていないように見えます。ただし、実際に Windows または ftp エクスプローラーでファイルを開くと、ファイルが変更されていることがわかります。
以下のコード例を参照してください。
<cfset path = "D:/tests/" />
<cfset tempfile_ = GetTempFile(path, "test_")>
<cfset tempfile_batch = getTempFile(path, "testBatch_")>
<cffile action="rename"
destination="#replaceNocase(tempfile_batch, '.tmp', '.bat')#"
source="#tempfile_batch#" />
<cfset tempfile_batch = replaceNocase(tempfile_batch, '.tmp', '.bat') />
<cfset batchContents = '' />
<cfsavecontent variable="batchContents">
@echo off
<cfoutput>
echo "this is a test" > "#tempfile_#"
</cfoutput>
exit
</cfsaveContent>
<cffile
action="write"
file="#tempfile_#"
output='init text' />
<cffile
action="write"
file="#tempfile_batch#"
output='#batchContents#' />
<cfexecute name="#tempfile_batch#" />
<cffile action="read" file="#tempfile_#" variable="foo">
<cfoutput>
fileName: #tempfile_# <br />
result is...
#foo#
</cfoutput>
実際に一時ファイルを開くと、内容は「これはテストです」ですが、 #foo# は「初期化テキスト」です
理由はありますか?