现在的位置: 首页 > 综合 > 正文

从某个目录中筛选文件

2014年09月07日 ⁄ 综合 ⁄ 共 1214字 ⁄ 字号 评论关闭

C# DEMO:

 string[] files1 = Directory.GetFiles(sSourceFolder, "*.txt", SearchOption.AllDirectories);
           string[] files2 = Directory.GetFiles(sSourceFolder, "*.csv", SearchOption.AllDirectories);
           
           List<string> lstFiles = new List<string>();
           lstFiles.AddRange(files1);
           lstFiles.AddRange(files2);

VB.NET:

Imports System.Collections.Generic

Public Shared Function GetFiles _
        (ByVal sourceFolder As String, ByVal filters As String, ByVal searchOption As System.IO.SearchOption) _
        As List(Of String)

        'Return filters.Split(CChar("|")).SelectMany(F >= System.IO.Directory.GetFiles(sourceFolder, F, searchOption)).ToArray()
        Dim arrList As New List(Of String)()
        Dim arrTmp As IList(Of String)
        Dim arrFilter As String() = filters.Split(CChar("|"))

        For Each f1 In arrFilter
            arrTmp = System.IO.Directory.GetFiles(sourceFolder, f1, searchOption)
            For Each f2 In arrTmp
                arrList.Add(f2)
            Next
        Next


        Return arrList

    End Function
 Dim FileName As String = "WELLMED*RXCHF70CL.TXT.zip|WMCOSMOS*RXCHF70CL.TXT.zip"     'muli items use | to split'

 Dim files As List(Of String) = GetFiles(CopyFTPSource, FileName, IO.SearchOption.TopDirectoryOnly)
        For Each file As String In files
            System.IO.File.Copy(CopyFTPSource & System.IO.Path.GetFileName(file), CopySource & System.IO.Path.GetFileName(file), True)
            System.IO.File.Delete(CopyFTPSource & System.IO.Path.GetFileName(file))
        Next

抱歉!评论已关闭.