var
  i: Integer;
  AEff: TEffectObject;
  AImg: TImageItem;
  AGo: Boolean;
  AOldPath, ANewPath: WideString;
  AGroup: TCatalogPropGroup;
begin
  if SearchGroup.FilePaths.Count = 0 then
  begin
    Say ('Please sslect one or more folders to be renamed in FOLDERS');
    exit;
  end;

  AGroup := TCatalogPropGroup.Create(nil);
  AGroup.Assign(SearchGroup);

  AEff := TEffectObject.Create(nil);
  AEff.Effect := efRename;
  AEff.RenameSettings.Mask := '%FileName';

  AImg := TImageItem.Create(nil);
  AImg.MediumName := AGroup.FilePaths.Items[0].MediumName;
  AImg.MediumSerial := AGroup.FilePaths.Items[0].MediumSerial;
  AImg.MediumType := AGroup.FilePaths.Items[0].MediumType;
  AImg._FileName := WideExcludeTrailingBackslash(AGroup.FilePaths.Items[0].FilePath);
  AGo := AEff.AskEffectProps(AImg, False, Options);
  AImg.Free;

  if AGo then
  begin
    for i := 0 to AGroup.FilePaths.Count - 1 do
    begin
      AImg := TImageItem.Create(nil);
      AImg.MediumName := AGroup.FilePaths.Items[i].MediumName;
      AImg.MediumSerial := AGroup.FilePaths.Items[i].MediumSerial;
      AImg.MediumType := AGroup.FilePaths.Items[i].MediumType;

      AOldPath := WideExcludeTrailingBackslash(AGroup.FilePaths.Items[i].FilePath);
      AImg._FileName := WideExcludeTrailingBackslash(AGroup.FilePaths.Items[i].FilePath);
      ANewPath := AImg.FileNamePath + AImg.ParseMacros(AEff.RenameSettings.Mask, nil);
      if Ask('Are you sure you want to rename ' + AOldPath + ' to ' + ANewPath + '?') then
      begin
        if idRenameFolder(AOldPath, ANewPath) then
        begin
          AGroup.FilePaths.Items[i].FilePath := WideIncludeTrailingBackslash(ANewPath);
          Catalog.UpdateFilePath(AGroup.FilePaths.Items[i]);
        end;
      end;

      AImg.Free;
    end;
  end;
  AEff.Free;
  AGroup.Free;
end;
