Drag & Drop コンソールアプリケーションの場合

    Dim FL As New List(Of String)
    Public Sub ContAdd(ByVal FName As String) '重複のしないようにリストに追加
        If FL.Contains(FName) = False Then
            FL.Add(FName)
        End If
    End Sub

    Public Function ExteJudge(ByVal FN As String) As Boolean '拡張子の種類、有無を判別
        If System.IO.Path.HasExtension(FN) = False Then Return True '拡張子ナシの場合
        Dim Extes() As String = {".ai", ".eps"}
        Dim Exte As String = String.Empty
        For Each Exte In Extes
            If Exte = System.IO.Path.GetExtension(FN) Then
                Return True
            End If
        Next
        Return False
    End Function

    Sub GetFiles(ByVal Fs() As String) '処理するファイルを判別してListに格納する
        FL.Clear()
        Dim files As String()
        For Each FName As String In Fs 'フルパスがファイルかフォルダか判別する
            If GetAttr(FName) = FileAttribute.Directory Then 'フォルダなら
                files = System.IO.Directory.GetFiles(FName)
                For Each FileName As String In files
                    If ExteJudge(FileName) = True Then
                        ContAdd(FileName) '重複のしないようにリストに追加
                    End If
                Next
            Else 'ファイルなら
                If ExteJudge(FName) = True Then
                    ContAdd(FName) '重複のしないようにリストに追加
                End If
            End If
        Next
        If FL.Count = 0 Then
            Console.WriteLine("適切なファイルが選択されていません")
            Exit Sub
        End If
    End Sub