以前紹介しましたフォルダの中のファイルを全てクリアする関数を、指定フォルダのサブフォルダ内のファイルも全てクリアする様にします。
⇒指定フォルダ内の全ファイルをクリア :[Directory.GetFiles,File.Delete]
指定フォルダ内の全ファイルクリア関数(サブフォルダ内もクリア)
''' -----------------------------------------------------------------------
'''
''' 指定フォルダ内の全ファイルをクリア(サブフォルダ内のファイルもクリア)
'''
'''指定フォルダ
''' True:正常, False:エラー
''' -----------------------------------------------------------------------
Function ClearFolderFile(ByVal astrDesFolderName As String) As Boolean
'戻り値初期化
ClearFolderFile = False
Try
'指定フォルダ内の全ファイルを取得
Dim arrFiles() As String = System.IO.Directory.GetFiles(astrDesFolderName)
'全ファイルクリア
For Each strFile As String In arrFiles
'File.Create メソッドを使用してファイルを作成する
Using fs As System.IO.FileStream = System.IO.File.Create(strFile)
'ファイルクローズ
fs.Close()
End Using
Next
'サブフォルダにあるファイルをクリア(再帰呼出)
Dim ArrDirs As String() = System.IO.Directory.GetDirectories(astrDesFolderName)
Dim strDir As String
For Each strDir In ArrDirs
'自分自身を再帰呼出
If ClearFolderFile(strDir) = False Then
'再帰呼出での内部のファイルのクリアがエラーの場合
Return False
End If
Next
'正常終了
Return True
Catch ex As Exception
'エラー処理が必要な場合は、ここに記述する
End Try
End Function
関連する記事
⇒フォルダコピー(サブフォルダ以下も含む):[Directory.GetFiles,Directory.GetDirectories]⇒指定フォルダ内の全ファイルを削除 :[Directory.GetFiles,File.Delete]
⇒指定フォルダ内の全ファイルを削除(サブフォルダ内も削除)
⇒テキストファイル追記処理 :[File.ReadAllText,File.AppendAllText]
⇒テキストファイル先頭行削除処理 :[IO.StreamReader,IO.StreamWriter,Encoding.GetEncoding]
⇒ファイルサイズ取得 :[IO.FileInfo]
⇒テキストファイルレコード件数取得 :[IO.StreamReader]
⇒ファイル上書きコピー :[IO.FileInfo,File.Copy]
PR
コメント