3

テスト ファイルを削除して再作成しようとしていますが、以下のエラーが発生します。なぜこれが起こっているのか誰にも教えてもらえますか?

エラー:

ColdFusion could not delete the file e:\sample\test2.html for an unknown reason.

コード:

<cfif FileExists("e:\sample\test2.html")>
   <cffile action="delete"file="e:\sample\test2.html"><br>
   <p>deleted the file </p>
<cfelse>
   <p>Sorry, can't delete the file - it doesn't exist.</p>
</cfif>

<cfset createObject("java", "java.lang.Thread").sleep(JavaCast("int", 90000))>
<cfsavecontent variable="HTML">
    <cfinclude template="noticeEmail.cfm">
</cfsavecontent>        

<cffile action="WRITE"  attributes = "normal" nameconflict="Overwrite"  
      file="e:\sample\test2.html" output="#HTML#">
4

4 に答える 4

2

最初に確認することは、ColdFusion を実行しているユーザーの権限です。
CF をどのように実行しているか、またはどのような環境で実行しているかはわかりませんが、これがローカル開発環境であり、Windows マシン上にあり、ColdFusion をサービスとして実行していると仮定します。

  • サービス マネージャーで ColdFusion サービスを見つけます (開始 -> 実行 -> services.msc)。
  • ColdFusion サービスを右クリックし、[ログオン] タブを調べて、「これが実行されているユーザー」を見つけます (サービスには、インストール方法に応じていくつかの名前が付けられますが、「ColdFusion 9 アプリケーション サーバー」を探します。JRun で始まるものは何でも)またはマクロメディア)
  • これがローカル システムでない場合は、ユーザーが e:\sample\test2.html への読み取り/書き込みアクセス権を持っていることを確認する必要があります。

エラーを引き起こす可能性のあるその他のこと、別のプログラムがこのファイルをロックしている可能性、作成後のファイルで何が起こっているか (ColdFusion でのみ作成されているか)

また、あなたが受け取っている実際のエラーを投稿できますか?
「申し訳ありませんが、ファイルを削除できません - ファイルが存在しません。」次に、これは、ファイルが存在するかどうかを確認するために上部にあるチェックによるものです。

最後に、上記で貼り付けたコードは、すべての行で最初の文字が欠落しているように見えます。他のユーザーがコードをより簡単にコピーして貼り付けることができるように、これを修正する価値があります。

于 2012-04-17T09:11:44.310 に答える
1

私が見つけた答えはどれも当てはまりませんでしたが、私は同じ問題を抱えていました。私のファイルは FileExists テストに合格しましたが、実際の削除には失敗しました。変数を使用してファイル名を作成していました:

<cfset sFilename = REQUEST.SubscriberWebFiles
                        & form.SubscriberID & "\Attachments\" 
                        & qryAttachmentsTrash.AttachmentName>

コードをトリムでラップしました。

<cfset sFilename = Trim(REQUEST.SubscriberWebFiles
                       & form.SubscriberID & "\Attachments\" 
                       & qryAttachmentsTrash.AttachmentName)>

問題は魔法のように消えました!

于 2012-09-01T15:21:54.257 に答える
0

Web サーバー/OS がファイルを保持している可能性があります。ファイルを開かずに作成してみて、削除するかどうかを確認できますか? したがって、ファイルを作成してすぐに削除してください。

于 2012-04-24T18:57:25.803 に答える
0

このコードを使用して、ColdFusion で MS Word ドキュメントを削除できます

<cfif FileExists( WordFilePath &".doc")>
   <cffile action="delete"
       file="#WordFilePath#.doc">
<cfelse>
    Sorry, can't delete the file - it doesn't exist.
</cfif>
于 2012-04-20T09:23:04.233 に答える