【VB.NET】指定フォルダ直下のファイルをすべて削除する

スポンサーリンク

どうも、あおです。

 

 

VB.NETで、指定したフォルダ直下のファイルをすべて削除するコードをメモ

 

 

■仕様

1) 変数に消したいファイルの場所をセット

2) ファイルの存在チェックをして、存在すれば削除確認ダイアログを表示

存在しなければ、画面にメッセージを表示して処理終了

3) 削除確認ダイアログで「はい」押下時、指定フォルダ直下のファイルを全削除

(指定フォルダ直下にフォルダがある場合、そちらは除外)

削除後、画面にメッセージを表示

4) 削除確認ダイアログで「いいえ」押下時、処理終了

(ファイルは削除しない)

 

 

 

 

今回は以下場所のファイルをすべて削除します

file-delete4

 

 

 

 

画面デザインは以下のような感じ(下部にStatusStrip配置)

file-delete3

 

 

 

 

 

 

 

ファイル削除ボタンクリック処理に、以下のようにコーディングします。

    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

 

 

 

 

削除実行後

file-delete5

 

 

 

 

 

 

 

 

エクスプローラーを確認すると、削除されています

file-delete6

 

 

 

 

END