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