ComponentPro UltimateFtp

      Search(String, Boolean, SearchConditionFileTypes, FileFoundDelegate) Method

      See AlsoMembers Options: Show AllLanguage Filter: AllSend comments on this topic to ComponentPro
      Searches for files and directories that match the specified search pattern, if specified, in the directoryPath.

      Syntax

      public FileInfoCollection Search(
         string directoryPath, 
         bool recursive, 
         SearchConditionFileTypes searchFor, 
         FileFoundDelegate fileFound = null
      )

      Parameters

      directoryPath
      The directory path to search. This parameter accepts wildcards masks. If this parameter does not contain any wildcards masks, the method searches for all files and directories.
      recursive
      true to search for files and directories in the specified directory and subdirectories; otherwise, false to scan for files in the specified directory only.
      searchFor
      The search file types.
      fileFound
      A method that is called when a file matching the search condition is found.

      Return Value

      A list of found files and directories represented by FileInfoBase objects.

      Examples

      FTP Examples

      Shows how to use the Search method to search for files and directories.

      using System;
      using ComponentPro.IO;
      using ComponentPro.Net;
      
      ...
      
      namespace Samples
      {
          class Search
          {
              static void Main()
              {
                  // Create a new class instance. 
                  Ftp client = new Ftp();
      
                  // Connect to the FTP server. 
                  client.Connect("demo.componentpro.com");
      
                  // Authenticate. 
                  client.Authenticate("test", "test");
      
                  // ... 
       
                  // Search for files with extension .cs or .vb 
                  FileInfoCollection list = client.Search("", true, SearchConditionFileTypes.File, "*.cs;*.vb", null);
      
                  foreach (FileInfoBase info in list)
                  {
                      Console.WriteLine("File: " + info.FullName);
                  }
      
                  // Search for files and directories with names starting with "System" 
                  list = client.Search("", true, SearchConditionFileTypes.FileOrDirectory, new NameSearchCondition("System*", SearchConditionFileTypes.FileOrDirectory), null);
      
                  foreach (FileInfoBase info in list)
                  {
                      Console.WriteLine("File: " + info.FullName);
                  }
      
                  // Search for files with size > 100k 
                  list = client.Search("", true, SearchConditionFileTypes.File, SizeSearchCondition.SizeGreaterThan(100 * 1024), null);
      
                  foreach (FileInfoBase info in list)
                  {
                      Console.WriteLine("File: " + info.FullName);
                  }
      
                  // Search for files with extension .cs with custom checks. 
                  list = client.Search("", true, SearchConditionFileTypes.File, new NameSearchCondition("*.cs"), myFileFound);
      
                  foreach (FileInfoBase info in list)
                  {
                      Console.WriteLine("File: " + info.FullName);
                  }
      
                  // ... 
       
                  // Disconnect. 
                  client.Disconnect();
              }
      
              static SearchAction myFileFound(FileInfoBase info)
              {
                  // Only add files with names starting with "Add" 
                  if (info.Name.StartsWith("Add"))
                      return SearchAction.Add;
      
                  return SearchAction.DontAdd;
              }
          }
      }

      SFTP Examples

      Shows how to use the Search method to search for files and directories.

      using System;
      using ComponentPro.IO;
      using ComponentPro.Net;
      
      ...
      
      namespace Samples
      {
          class Search
          {
              static void Main()
              {
                  // Create a new class instance. 
                  Sftp client = new Sftp();
      
                  // Connect to the SFTP server. 
                  client.Connect("demo.componentpro.com");
      
                  // Authenticate. 
                  client.Authenticate("test", "test");
      
                  // ... 
       
                  // Search for files with extension .cs or .vb 
                  FileInfoCollection list = client.Search("", true, SearchConditionFileTypes.File, "*.cs;*.vb", null);
      
                  foreach (FileInfoBase info in list)
                  {
                      Console.WriteLine("File: " + info.FullName);
                  }
      
                  // Search for files and directories with names starting with "System" 
                  list = client.Search("", true, SearchConditionFileTypes.FileOrDirectory, new NameSearchCondition("System*", SearchConditionFileTypes.FileOrDirectory), null);
      
                  foreach (FileInfoBase info in list)
                  {
                      Console.WriteLine("File: " + info.FullName);
                  }
      
                  // Search for files with size > 100k 
                  list = client.Search("", true, SearchConditionFileTypes.File, SizeSearchCondition.SizeGreaterThan(100 * 1024), null);
      
                  foreach (FileInfoBase info in list)
                  {
                      Console.WriteLine("File: " + info.FullName);
                  }
      
                  // Search for files with extension .cs with custom checks. 
                  list = client.Search("", true, SearchConditionFileTypes.File, new NameSearchCondition("*.cs"), myFileFound);
      
                  foreach (FileInfoBase info in list)
                  {
                      Console.WriteLine("File: " + info.FullName);
                  }
      
                  // ... 
       
                  // Disconnect. 
                  client.Disconnect();
              }
      
              static SearchAction myFileFound(FileInfoBase info)
              {
                  // Only add files with names starting with "Add" 
                  if (info.Name.StartsWith("Add"))
                      return SearchAction.Add;
      
                  return SearchAction.DontAdd;
              }
          }
      }

      ZIP Examples

      Shows how to use the Search method to search for files and directories.

      using System;
      using ComponentPro.Compression;
      using ComponentPro.IO;
      
      ...
      
      [STAThread]
      static void Main()
      {
          // Open an existing file 
          Zip zip = new Zip();
      
          zip.Open("test.zip");
      
          // Search for files with extension .cs 
          FileInfoCollection list = zip.Search("", true, SearchConditionFileTypes.File, "*.cs", null);
      
          foreach (FileInfoBase info in list)
          {
              Console.WriteLine("File: " + info.FullName);
          }
      
          // Search for files and directories with names starting with "System" 
          list = zip.Search("", true, SearchConditionFileTypes.FileOrDirectory, "System*", null);
      
          foreach (FileInfoBase info in list)
          {
              Console.WriteLine("File: " + info.FullName);
          }
      
          // Search for files with size > 100k 
          list = zip.Search("", true, SearchConditionFileTypes.File, SizeSearchCondition.SizeGreaterThan(100 * 1024), null);
      
          foreach (FileInfoBase info in list)
          {
              Console.WriteLine("File: " + info.FullName);
          }
      
          // Search for files with extension .cs with custom checks. 
          list = zip.Search("", true, SearchConditionFileTypes.File, "*.cs", myFileFound);
      
          foreach (FileInfoBase info in list)
          {
              Console.WriteLine("File: " + info.FullName);
          }
      
          // ... 
       
          zip.Close();
      }
      
      static SearchAction myFileFound(FileInfoBase info)
      {
          // Only add files with names starting with "Add" 
          if (info.Name.StartsWith("Add"))
              return SearchAction.Cancel;
      
          return SearchAction.DontAdd;
      }

      Framework

      .NET Compact Framework.NET Compact Framework

      Supported version: 2.0, 3.5, and 3.9
      Assembly: ComponentPro.FileSystem.CF (in ComponentPro.FileSystem.CF.dll)

      .NET Framework.NET Framework

      Supported version: 2.0, 3.0, 3.5, 4.0, 4.5.x, 4.6.x and later
      Assembly: ComponentPro.FileSystem (in ComponentPro.FileSystem.dll)

      Portable Class Library for Windows Phone 8.1 and Windows 8.1 Store AppsPortable Class Library for Windows Phone 8.1 and Windows 8.1 Store Apps

      Supported version: 4.6.x and later
      Assembly: ComponentPro.FileSystem.WinPcl (in ComponentPro.FileSystem.WinPcl.dll)

      Universal Windows Platform (includes Windows 10 Mobile, Windows 10 Store Apps and Windows 10 IoT)Universal Windows Platform (includes Windows 10 Mobile, Windows 10 Store Apps and Windows 10 IoT)

      Supported version: 4.6.x and later
      Assembly: ComponentPro.FileSystem.Uwp (in ComponentPro.FileSystem.Uwp.dll)

      Xamarin AndroidXamarin Android

      Supported version: 2.3 and later
      Assembly: ComponentPro.FileSystem.Android (in ComponentPro.FileSystem.Android.dll)

      Xamarin MacXamarin Mac

      Supported version: 2.0.x and later
      Assembly: ComponentPro.FileSystem.Mac (in ComponentPro.FileSystem.Mac.dll)

      Xamarin iOSXamarin iOS

      Supported version: 5.1.x and later
      Assembly: ComponentPro.FileSystem.iOS (in ComponentPro.FileSystem.iOS.dll)

      See Also