どうも、あおです。
VB.NETで、指定したフォルダ直下のファイルをすべて削除するコードをメモ
■仕様
1) 変数に消したいファイルの場所をセット
2) ファイルの存在チェックをして、存在すれば削除確認ダイアログを表示
存在しなければ、画面にメッセージを表示して処理終了
3) 削除確認ダイアログで「はい」押下時、指定フォルダ直下のファイルを全削除
(指定フォルダ直下にフォルダがある場合、そちらは除外)
削除後、画面にメッセージを表示
4) 削除確認ダイアログで「いいえ」押下時、処理終了
(ファイルは削除しない)
今回は以下場所のファイルをすべて削除します
画面デザインは以下のような感じ(下部にStatusStrip配置)
ファイル削除ボタンクリック処理に、以下のようにコーディングします。
Private Sub btnFileDelete_Click(sender As Object, e As EventArgs) Handles btnFileDelete.Click ToolStripStatusLabel.Text = "" Dim stFolder As String = "C:\Work\proj\default\output\" If Dir(stFolder) <> "" Then Dim dialog As DialogResult = MessageBox.Show("削除してもよろしいですか?", "確認メッセージ", MessageBoxButtons.YesNo, MessageBoxIcon.Warning) If dialog = DialogResult.Yes Then For Each stFileName As String In System.IO.Directory.GetFiles(stFolder, "*.*") System.IO.File.Delete(stFileName) Next ToolStripStatusLabel.Text = "削除しました" ElseIf dialog = DialogResult.No Then Exit Sub End If Else ToolStripStatusLabel.Text = "フォルダにファイルが存在しません" End If End Sub
削除実行後
エクスプローラーを確認すると、削除されています
END