2011-10-20 3 views
1

VB.Net 사용데이터베이스 파일을 삭제할 수 없습니다.

데이터베이스 파일을 삭제할 수 없습니다. 사용하지 않는 파일.

나는 또한 코드 아래 사용
File.Delete("G:\1.txt") - It is deleting the file 

File.Delete("G:\DB1.bak") - It is not deleting 

, 내 코드의 문제점은 무엇

Kill("G:\DB1.bak") - It is also not deleting 

.

+1

어떤 오류가 발생합니까? –

+0

오류 없음, 아무 일도 일어나지 않습니다 ... – Gopal

답변

1

마찬가지로 파일을 사용하고 있지 않다고하셨습니다. 그런 다음 전달 된 디렉토리에서 모든 파일을 삭제하려면 다음 코드 부분을 참조하십시오.

Sub DeleteFiles(ByVal Dir As String) 
     Dim DirObj As New DirectoryInfo(Dir) 

     Dim Files As FileInfo() = DirObj.GetFiles("*.bak") 
     Dim Dirs As DirectoryInfo() = DirObj.GetDirectories("*.*") 

     Dim Filename As FileInfo 

     For Each Filename In Files 
      Try 
       File.Delete(Filename.FullName) 
       Console.WriteLine("Deleted {0}", Filename.FullName) 
      Catch E As Exception 
       Console.WriteLine("Error deleting {0}", Filename.FullName) 
       Console.WriteLine("Error: {0}", E.Message) 
      End Try 
     Next 

     Dim DirectoryName As DirectoryInfo 

     For Each DirectoryName In Dirs 
      Try 
       DeleteFiles(DirectoryName.FullName) 
      Catch E As Exception 
       Console.WriteLine("Error accessing {0}", DirectoryName.FullName) 
       Console.WriteLine("Error: {0}", E.Message) 
      End Try 
     Next 

    End Sub 
0

코드는 정상입니다. 해당 파일이 다른 프로세스에서 사용 중이거나 사용자 (사용자)가 삭제할 수있는 권한이 없기 때문일 수 있습니다.

+0

파일도 사용하지 않습니다 – Gopal

+0

@Gopal - FileInfo 클래스의 인스턴스 메서드 - Delete()를 시도해보십시오. – adatapost

0

파일이 실제로 사용 중일 수 있습니다.

정말로 누가 확실히 파일을 사용하고 있는지 확인하기 위해 Unlocker 도구 http://www.emptyloop.com/unlocker/을 사용하는 것이 좋습니다. 사용법에 대한 잘못된 내용이있을 수 있습니다.

+0

파일도 사용 중이 아닙니다. – Gopal

관련 문제