ファイルを確実に削除する
スポンサーリンク
System.IO.File クラスの Delete メソッドを、読み取り専用ファイルに対して実行すると例外が発生します。これは、削除する前に読み取り専用属性を外すことで解決します。
以下は、その処理を関数化したものです。読み取り専用属性だった場合でも削除したり、または削除をキャンセルする (例外は発生しない) ことができます。
サンプルコード
以下にサンプルコードを示します。
VB.NET 全般
''' ----------------------------------------------------------------------------- ''' <summary> ''' 指定したファイルを削除します。</summary> ''' <param name="stFilePath"> ''' 削除するファイルまでのパス。</param> ''' ----------------------------------------------------------------------------- Public Shared Sub DeleteFile(ByVal stFilePath As String) Dim cFileInfo As New System.IO.FileInfo(stFilePath) ' ファイルが存在しているか判断する If cFileInfo.Exists Then ' 読み取り専用属性がある場合は、読み取り専用属性を解除する If (cFileInfo.Attributes And System.IO.FileAttributes.ReadOnly) = System.IO.FileAttributes.ReadOnly Then cFileInfo.Attributes = System.IO.FileAttributes.Normal End If ' ファイルを削除する cFileInfo.Delete() End If End Sub
使用例は以下のようになります。
VB.NET 全般
' 読み取り専用ファイルの場合でも削除する
DeleteFile("C:\Hoge\");
関連するリファレンス
準備中です。