tagCANDY CGI VBレスキュー(花ちゃん) の Visual Basic 2010 用 掲示板(VB.NET 掲示板) [ツリー表示へ]   [Home]
一括表示(VB.NET VB2005)
タイトルワイルドカードでファイルの一括削除のしかた。
記事No7133
投稿日: 2008/03/05(Wed) 20:28
投稿者佐藤
お世話になっております。
VB2005で開発しております。

デスクトップに拡張子をaaaでいくつかファイルを作成し、
それを全て削除したいのですが、

System.IO.File.Delete(My.Computer.FileSystem.SpecialDirectories.Desktop & "\*.aaa")

このような感じで記述したのですが削除されません。

System.IO.File.Deleteではワイルドカードを指定できないのでしょうか。

[ツリー表示へ]
タイトルRe: ワイルドカードでファイルの一括削除のしかた。
記事No7136
投稿日: 2008/03/05(Wed) 23:29
投稿者花ちゃん
下記ではだめなんでしょうか?
VB2005 なら、My.Computer.FileSystem.DeleteFile メソッド の使用をお勧めします。

Private Sub Button1_Click(ByVal sender As System.Object, _
                          ByVal e As System.EventArgs) Handles Button1.Click

   For Each FileName As String In System.IO.Directory.GetFiles( _
                  My.Computer.FileSystem.SpecialDirectories.Desktop, "*.txt")

      'System.IO.File.Delete(FileName)

      'オプションはお好みで
      My.Computer.FileSystem.DeleteFile(FileName, FileIO.UIOption.AllDialogs, _
           FileIO.RecycleOption.SendToRecycleBin, FileIO.UICancelOption.DoNothing)

   Next

End Sub

お勧めはできませんが、Kill 関数なら ワイルドカードが使用できるようです。

Microsoft.VisualBasic.FileSystem.Kill( _
      My.Computer.FileSystem.SpecialDirectories.Desktop & "\*.txt")

又は、Win32 API 関数の SHFileOperation 関数を使用するとか。

[ツリー表示へ]
タイトルRe^2: ワイルドカードでファイルの一括削除のしかた。
記事No7142
投稿日: 2008/03/06(Thu) 13:02
投稿者佐藤
誠に有難う御座います。

お教え頂いた、My.Computer.FileSystem.DeleteFile で出来ました。

Kill関数やSHFileOperationでも試してみます。

いつも貴サイトには本当に助けて頂き感謝申し上げます。

[ツリー表示へ]