2012-04-17 1 views
3

테스트 파일을 삭제하고 다시 만들려고하는데 아래 오류가 나타납니다. 아무도 왜 이것이 일어나고 있는지 말해 줄 수 있습니까?ColdFusion에서 알 수없는 이유로 파일을 삭제할 수 없습니다.

오류 :

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#"> 
+2

이것은 오류와는 아무런 관련이 없지만'nameconflict' 속성은'action = "write"'에 적용되지 않으며 업로드 만합니다. – Leigh

답변

2

우선은 ColdFusion이로 실행하는 사용자의 권한입니다.
CF를 실행하는 방법이나 현재 사용하고있는 환경이 어디인지는 모르겠지만 로컬 개발 환경이라고 가정하고 Windows 컴퓨터에서 ColdFusion을 서비스로 실행하고 있다고 가정합니다.

  • 서비스 관리자에서 ColdFusion 서비스 찾기
  • ColdFusion 서비스를 마우스 오른쪽 버튼으로 클릭하고 로그온 탭에서 "이 서비스가 실행중인 사용자 (서비스 (서비스) 설치 방법에 따라 여러 가지 이름을 지정할 수 있지만 "ColdFusion 9 Application Server", JRun 또는 Macromedia로 시작하는 것)
  • 이 로컬 시스템이 아닌 경우는 사용자가 전자에 대한 읽기/쓰기 액세스가 있는지 확인해야합니다 : \ 샘플 \ test2.html
오류가 발생할 수

다른 것들 , 수 다른 프로그램을 이 파일을 잠근 파일이 생성 된 후 어떤 일이 일어나고 있습니까 (ColdFusion을 통해서만 생성 된 것입니까?)

또한 수신중인 실제 오류를 게시 할 수 있습니까?
"죄송합니다. 파일을 삭제할 수 없습니다. 존재하지 않습니다." 그런 다음 파일 상단에 있는지 확인하여 파일이 존재하는지 확인하십시오.

마지막으로 위에 붙여 넣은 코드는 모든 행에서 첫 번째 문자가 누락 된 것으로 보입니다. 다른 사람들이 코드를 더 쉽게 복사하고 붙여 넣을 수 있도록이 코드를 수정해야합니다.

+0

Fyi, 누락 된 문자를 다시 추가하도록 수정되었습니다. – Leigh

+0

동일한 문제가 발생하여 파일을 잠갔습니다. CF를 계속 업로드했기 때문에 파일을 삭제하려고했기 때문입니다. – ConfusedDeer

0

당신은 당신의 웹 서버/OS는 파일에 유지 될 수 ColdFusion에서

<cfif FileExists(WordFilePath &".doc")> 
    <cffile action="delete" 
     file="#WordFilePath#.doc"> 
<cfelse> 
    Sorry, can't delete the file - it doesn't exist. 
</cfif> 
+0

예, 정확히 그가 벌써하고있는 일입니다 :) 그러나 파일이 잠겨 있기 때문에 어떤 이유로 삭제가 실패합니다. 또한 코드 스 니펫에 여는'<'기호가 누락되었습니다 (이제는 수정 됨). CFML 스 니펫을 게시하려면 코드 샘플 옵션, 즉 "{}"을 사용하십시오. – Leigh

+0

ok ......................... – user933909

0

와 함께 MS Word 문서를 삭제하려면이 코드를 사용할 수 있습니다. 파일을 열지 않고 파일을 만들어보고 삭제할 수 있습니까? 파일을 만든 다음 바로 삭제하십시오.

0

동일한 문제가 있었지만 답변을 찾지 못했습니다. 내 파일이 FileExists 테스트를 통과했지만 여전히 실제 삭제에 실패했습니다. 나는 변수를 사용하여 파일 이름을 구축 하였다

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

가 나는 트림의 코드를 포장 :

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

하고 문제가 마술처럼 사라졌다!