Join Wintertainment 2021 to share your stories, have fun, earn community badges, and more!

aqFileSystem.FindFolders Method

Applies to TestComplete 15.10, last modified on December 07, 2021

Description

Use the FindFolders method to search the specified folder for all the subfolders matching the given pattern. To search for files of a given folder, use the FindFiles method.

Declaration

aqFileSystem.FindFolders(Path, SearchPattern, SearchInSubDirs)

Path [in]    Required    String    
SearchPattern [in]    Required    String    
SearchInSubDirs [in]    Optional    Boolean Default value: False   
Result The aqObjIterator object.

Applies To

The method is applied to the following object:

Parameters

The method has the following parameters:

Path

Specifies the location (the fully qualified path) where the search will be performed.

The Path parameter may or may not include a trailing backslash (\). You can add a trailing backslash to or remove it from the path by using the IncludeTrailingBackSlash or ExcludeTrailingBackSlash method.

SearchPattern

Specifies the names of the folders to search. A name can include the * and ? wildcard characters. An asterisk corresponds to a string of any length, a question mark - to any single character.

SearchInSubDirs

Specifies whether to perform the search in the subfolders of the folder specified by the Path parameter.

If SearchInSubDirs is False, which is the default value, no search in subfolders is performed. Otherwise, the method performs the search both in a specified folder and in its subfolders.

Result Value

The aqObjIterator object whose items are aqFolderInfo objects that store information about the matching folders. If no matching folders were found, the method returns an empty object (null in JavaScript, JScript, C#Script and C++Script, None in Python, Nothing in VBScript, nil in DelphiScript).

To get information about an individual folder, you can call the iterator’s Next or Item method and use the properties of the returned aqFolderInfo object.

Example

The following code snippet demonstrates how to use this method. It searches for the folders that contain the Work string in their names and are located on the D drive.

JavaScript

function FolderFinder()
{
  var foundFolders, aFolder;
  foundFolders = aqFileSystem.FindFolders("D:\\", "*Work*");
  if (!strictEqual(foundFolders, null))
    while (foundFolders.HasNext())
    {
      aFolder = foundFolders.Next();
      Log.Message(aFolder.Path);
    }
  else
    Log.Message("No folders were found.");
}

JScript

function FolderFinder()
{
  var foundFolders, aFolder;
  foundFolders = aqFileSystem.FindFolders("D:\\", "*Work*");
  if (foundFolders != null)
    while (foundFolders.HasNext())
    {
      aFolder = foundFolders.Next();
      Log.Message(aFolder.Path);
    }
  else
    Log.Message("No folders were found.");
}

Python

def FolderFinder():
  foundFolders = aqFileSystem.FindFolders("D:\\", "*Work*")
  if foundFolders != None:
    while foundFolders.HasNext():
      aFolder = foundFolders.Next()
      Log.Message(aFolder.Path)
  else:
    Log.Message("No folders were found.")

VBScript

Sub FolderFinder
  Set foundFolders = aqFileSystem.FindFolders("D:\", "*Work*")
  If Not foundFolders Is Nothing Then
     While foundFolders.HasNext
       Set aFolder = foundFolders.Next
       Log.Message aFolder.Path
     Wend
  Else
      Log.Message "No folders were found."
  End If
End Sub

DelphiScript

procedure FolderFinder;
var foundFolders, aFolder;
begin
  foundFolders := aqFileSystem.FindFolders('D:\', '*Work*');
  if foundFolders <> nil then
    while foundFolders.HasNext do
    begin
      aFolder := foundFolders.Next;
      Log.Message(aFolder.Path);
    end
  else
    Log.Message('No folders were found.');
end;

C++Script, C#Script

function FolderFinder()
{
  var foundFolders, aFolder;
  foundFolders = aqFileSystem["FindFolders"]("D:\\", "*Work*");
  if (foundFolders != null)
    while (foundFolders["HasNext"]())
    {
      aFolder = foundFolders["Next"]();
      Log["Message"](aFolder["Path"]);
    }
  else
    Log["Message"]("No folders were found.");
}

See Also

Working With Files From Scripts
aqObjIterator Object
aqFolderInfo Object
FindFiles Method

Highlight search results