VB.NET 获取父子目录的文件名

2019-12-02 21:03:14 浏览数 (1)

获取父子目录中的文件名,那么获取完之后我们能拿他们干点什么呢?这就见仁见智了,你可以把获取的文件名编一个规则重命名旧的文件、移动文件、复制文件、删除指定文件等操作,这就看你们的想象力和应用了!
引用IO
代码语言:javascript复制
Imports System.IO
获取父子文件名类模块代码
代码语言:javascript复制
Public Class Cls_file
定义文件名列表
代码语言:javascript复制
    ''' <summary>
    ''' 定义文件名列表
    ''' </summary>
    Private Shared ReadOnly F_List As New List(Of FileInfo)
获取指路径文件名(含子目录)函数
代码语言:javascript复制
    ''' <summary>
    ''' 获取指路径文件名(含子目录)
    ''' </summary>
    ''' <param name="Path">文件夹路径</param>
    ''' <param name="EXT">文件扩展名</param>
    ''' <returns></returns>
    Public Shared Function Get_AllFlist(ByVal Path As String, ByVal EXT As String) As List(Of FileInfo)
        Try
            If Not String.IsNullOrWhiteSpace(Path) Then  '判断文件夹路径是null或者是空
                If Directory.Exists(Path) Then  '判断文件夹是否存在,不存在则创建一个
                    Get_File_ALL(Path, EXT)  '获取所有文件列表
                Else
                    Directory.CreateDirectory(Path)  '创建一个文件夹
                End If
            Else
                MsgBox("文件路径为空!", MsgBoxStyle.Critical, "警告")
            End If
            Return F_List  '返回文件列表
        Catch ex As Exception
            Return Nothing
            MsgBox("错误:" & ex.Message, MsgBoxStyle.Critical, "警告")
        End Try
    End Function
获取指路径文件名(含子目录)过程
代码语言:javascript复制
    ''' <summary>
    ''' 获取指路径文件名(含子目录)
    ''' </summary>
    ''' <param name="Path">文件夹路径</param>
    ''' <param name="EXT">文件扩展名(.txt)(.pdf)(.xls)等</param>
    Private Shared Sub Get_File_ALL(ByVal Path As String, ByVal EXT As String)
        Try
            Dim Sub_Dir As String() = Directory.GetDirectories(Path) '获取子目录路径
            Dim P_File_INFO As New DirectoryInfo(Path)
            Dim F_File As FileInfo() = P_File_INFO.GetFiles()  '获取父目录文件信息
            If F_File.Length <> 0 OrElse Sub_Dir.Length <> 0 Then
                For Each Flist As FileInfo In F_File  ''获取父目录文件名
                    If EXT.ToLower = Flist.Extension.ToLower Then  '取指定格式文件名
                        F_List.Add(Flist)  ''文件名保存到文件名列表
                    End If
                Next
                For Each Sub_Flist As String In Sub_Dir '获取子目录文件路径
                    Get_File_ALL(Sub_Flist, EXT)  '复用获取子目录中的文件名
                Next
            End If
        Catch ex As Exception
            MsgBox("错误:" & ex.Message, MsgBoxStyle.Critical, "警告")
        End Try
    End Sub
类模块结束
代码语言:javascript复制
End Class

使用方法

代码语言:javascript复制
Public Class Form1
    Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
        FolderBrowserDialog1.RootFolder = Environment.SpecialFolder.Desktop
        FolderBrowserDialog1.ShowNewFolderButton = True
        Dim f_ls As New List(Of IO.FileInfo)
        If FolderBrowserDialog1.ShowDialog = DialogResult.OK Then
            f_ls = Cls_file.Get_AllFlist(FolderBrowserDialog1.SelectedPath, ".mp4")
        End If
        Dim t As New Text.StringBuilder
        For Each x In f_ls
            t.Append(x.ToString).Append(vbCrLf)
        Next

        RichTextBox1.Text = t.ToString
    End Sub
End Class

今天教程到此结束啦!

0 人点赞