PR

【VB.NET入門】特定ファイルをサクッと削除!ファイルリスト取得ガイド

【VB.NET】
広告

はじめに

VB.NETは、ファイル操作を簡単かつ効率的に行うための機能を多く提供しています。特に、指定したフォルダ内のファイルをリストとして取得し、その中から特定のファイルを削除する処理は、初心者にとっても習得しやすい操作です。本記事では、ファイルリストの取得方法と特定ファイルの削除方法について、ステップバイステップで解説します。これにより、日常的なファイル管理の効率を大幅に向上させることができるでしょう。

ファイルリストを取得する方法

まず、特定のディレクトリからファイルリストを取得するためには、System.IO名前空間を使用します。この名前空間には、ファイルやディレクトリを操作するためのさまざまなメソッドが含まれており、目的に応じて簡単に実装することができます。

Directory.GetFilesメソッド

ファイルリストを取得するために最もよく使用されるメソッドがDirectory.GetFilesです。このメソッドは、指定したディレクトリ内のすべてのファイルのパスを配列として返します。

Imports System.IO

Sub Main()
    Dim files() As String = Directory.GetFiles("C:\ExampleDirectory")
    For Each file As String In files
        Console.WriteLine(file)
    Next
End Sub

このコードは、C:\ExampleDirectoryディレクトリ内のすべてのファイルパスを取得し、それらをコンソールに出力します。特定の拡張子のファイルをフィルタリングしたい場合は、ワイルドカード文字(例: *.txt)を使用することが可能です。

拡張子を指定してファイルを取得する

特定の拡張子のファイルのみを取得するには、次のようにワイルドカードを使用してファイルをフィルタリングします。

Dim txtFiles() As String = Directory.GetFiles("C:\ExampleDirectory", "*.txt")
For Each file As String In txtFiles
    Console.WriteLine(file)
Next

このコードでは、C:\ExampleDirectory内のすべての.txtファイルを取得し、それを出力します。

特定のファイルを削除する方法

ファイルリストを取得したら、次はそのリストの中から特定のファイルを削除する方法について説明します。VB.NETでは、File.Deleteメソッドを使用して、簡単にファイルを削除することができます。

File.Deleteメソッドを使ったファイル削除

File.Deleteメソッドを使用することで、指定したファイルを削除することができます。以下は、リストから特定のファイルを削除する例です。

Sub DeleteFile(ByVal filePath As String)
    If File.Exists(filePath) Then
        File.Delete(filePath)
        Console.WriteLine($"{filePath} を削除しました。")
    Else
        Console.WriteLine($"{filePath} は存在しません。")
    End If
End Sub

このコードでは、指定したファイルパスが存在するかを確認し、存在する場合はそのファイルを削除します。存在しない場合は、エラーメッセージが表示されます。

削除するファイルを指定する

次に、削除するファイルを手動で指定する方法について見ていきます。特定のファイルを削除するためには、そのファイル名やパスを直接DeleteFileメソッドに渡す必要があります。

Sub Main()
    Dim targetFile As String = "C:\ExampleDirectory\sample.txt"
    DeleteFile(targetFile)
End Sub

このコードでは、C:\ExampleDirectory\sample.txtというファイルを削除する処理を行っています。削除が成功すると、コンソールにその旨が表示されます。

フォルダ内のすべてのファイルを削除する

指定したフォルダ内のすべてのファイルを削除したい場合は、ファイルリストを取得してから、各ファイルに対してFile.Deleteメソッドを適用することができます。

すべてのファイルを削除するコード

以下の例では、指定したフォルダ内のすべてのファイルを削除します。

Sub DeleteAllFiles(ByVal folderPath As String)
    Dim files() As String = Directory.GetFiles(folderPath)
    For Each file As String In files
        DeleteFile(file)
    Next
End Sub

このコードは、指定されたフォルダ内のすべてのファイルをリストアップし、それぞれのファイルを削除する処理を行っています。

ファイルが存在しない場合の対処

削除対象のフォルダ内にファイルが存在しない場合にエラーメッセージを表示するようなエラーハンドリングを実装することも重要です。

Sub DeleteAllFilesSafe(ByVal folderPath As String)
    Dim files() As String = Directory.GetFiles(folderPath)
    If files.Length = 0 Then
        Console.WriteLine("削除するファイルがありません。")
        Return
    End If
    For Each file As String In files
        DeleteFile(file)
    Next
End Sub

このコードでは、フォルダ内にファイルが存在しない場合、削除処理を行わずにメッセージを表示します。

ファイルリストを加工する

ファイルリストを取得した後、リストの内容をフィルタリングしたり、特定の条件に一致するファイルのみを処理したりすることができます。ここでは、ファイル名に特定の文字列が含まれているファイルのみを削除する方法を紹介します。

ファイル名フィルタリングによる削除

例えば、ファイル名にbackupという文字列が含まれているファイルだけを削除したい場合は、以下のように実装できます。

Sub DeleteBackupFiles(ByVal folderPath As String)
    Dim files() As String = Directory.GetFiles(folderPath)
    For Each file As String In files
        If file.Contains("backup") Then
            DeleteFile(file)
        End If
    Next
End Sub

このコードは、ファイル名にbackupが含まれているファイルのみをリストから削除する処理を行います。

まとめ

VB.NETを使用して特定のファイルを削除する方法は非常にシンプルであり、System.IO名前空間を活用することで簡単に実装できます。Directory.GetFilesメソッドでファイルリストを取得し、File.Deleteメソッドでファイルを削除する一連の流れをマスターすることで、効率的にファイル管理が行えるようになります。また、フィルタリングやエラーハンドリングを組み込むことで、さらに柔軟で信頼性の高いプログラムを作成することが可能です。

広告
【VB.NET】
広告
タイトルとURLをコピーしました