login register Sysop! about ME  

2018년 02월 23일 13시 04분 00초,     조회수 : 1161
  제목 : asp 에서 파일 삭제시 대상파일이 열려있으면...
SEQ : 163979 글쓴이 : chokhoon

작성 포맷 : TEXT 모드, 자동 줄바꿈 사용

    <%
        filePath1 = "D:\파일1.xlsx"
        filePath2 = "D:\파일2.xlsx"
        filePath3 = "D:\파일3.xlsx"

        If DeleteExistFile(filePath1) Then 
            response.Write fileName & " 1 파일이 삭제 되었습니다.<br>" 
        Else 
            response.Write fileName & " 1 파일이 존재하지 않습니다.<br>" 
        End If

        If DeleteExistFile(filePath2) Then 
            response.Write fileName & " 2 파일이 삭제 되었습니다.<br>" 
        Else 
            response.Write fileName & " 2 파일이 존재하지 않습니다.<br>" 
        End If

        If DeleteExistFile(filePath3) Then 
            response.Write fileName & " 3 파일이 삭제 되었습니다.<br>" 
        Else 
            response.Write fileName & " 3 파일이 존재하지 않습니다.<br>" 
        End If
        
        'DeleteExistFile(filePath1)
        'DeleteExistFile(filePath2)
        'DeleteExistFile(filePath3)




        '파일의 존재유무를 체크하여 존재하면 삭제하는 함수
        Function DeleteExistFile(filePath)
            Dim fso, result
            Set fso = CreateObject("Scripting.FileSystemObject")
            If fso.FileExists(filePath) Then
                fso.DeleteFile(filePath) '파일이 존재하면 삭제합니다.
                result = 1
            Else
                result = 0
            End If
            DeleteExistFile = result
        End Function
    %>


위 소스대로 실행하면 파일3개 모두 삭제가 잘 됩니다.



그런데 파일2.xlsx 파일을 실행중인 상태에서 소스를 실행하면 

==============
1 파일이 삭제 되었습니다.
Microsoft VBScript 런타임 오류 오류 '800a0046'

사용 권한이 없습니다.

/delete_test.asp, 줄 49
==============

이렇게 나옵니다.
파일1.xlsx만 삭제되고 오류가 납니다.

49번째 줄은 이부분입니다.   ---> fso.DeleteFile(filePath) '파일이 존재하면 삭제합니다.
파일을 삭제할 수 없으면 건너뛰고 다음 으로 넘어갈 수는 없을까요?

건너뛰고 파일3.xlsx 파일을 삭제할 수 있게 하고 싶습니다.

  guy209
  2018-02-23(13:22)
캐릭 이미지
아마 문의하신 내용은 처리가 안되지 싶은데...
중간에 실패나면 트랜잭션 처리로 체크가 가능한 경우, 전체 롤백하는거밖에 없을 겁니다.
그것조차 안된다면, 중간에 에러가 발생했다고 경고문 띄우는 방법밖에 없을것 같네요

  moon2260
  2018-02-27(08:53)
캐릭 이미지
On Error Resume Next 를 사용하는 수밖에...


제목 작성자 날짜 조회
asp 에서 파일 삭제시 대상파일이 열려있으면... (2) chokhoon 2018-02-23 1161

 
 
.NET과 Java 동영상 기반의 교육사이트

로딩 중입니다...

서버 프레임워크 지원 : NeoDEEX
based on ASP.NET 3.5
Creative Commons License
{5}
{2} 읽음   :{3} ({4})