Resource

Resource Basics

Resource Name Batch Rename Folders
Resource Version 1.0
Category File System
Downloads 920
Release Date 7/27/2015 8:55:00 PM
 

Resource Details

Description This script allows you to rename a series of selected folders using the standard rename feature.
Installation Instructions Download the script to the hard drive
Usage Instructions 1. Open FOLDERS
2. Select one or more folders that you'd like to rename. You can multi-select by holding down the Ctrl key on Windows or Cmd key on Mac
3. Select Tools->Scripter
4. Load the downloaded script
5. Run the script
Changes in this version n.a.
Special Requirements
 

Author Information

Author Name IDimager Support
 

Script

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;