2011-10-20 100 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