#1 2016-05-11 17:40

aulia
Member
Registered: 2016-05-11
Posts: 2

Summation file name

Hi, All:

I have a question, I have a folder of files like below:
left 11+15.jpg
200+10 right 90.jpg

I want my text files ReNamer look like so:
left 26 ft.jpg
210 ft right 90.jpg

could you please write me the script.
Thanks!

Offline

#2 2016-05-12 09:02

Stefan
Moderator
From: Germany, EU
Registered: 2007-10-23
Posts: 1,161

Re: Summation file name

Hi aulia and welcome!

Try this out:

FROM:
left 11+15.jpg
200+10 right 90.jpg
17+4.jpg
One Two 5+15 Three Four.jpg
Test +9 Apples.jpg
Test 3 + 3.jpg
left 11 25+15.jpg
400+40 right 90.jpg
47+11.jpg

TO:
left 26 ft.jpg
210 ft right 90.jpg
21 ft.jpg
One Two 20 ft Three Four.jpg
Test +9 Apples.jpg
Test 3 + 3.jpg
left 11 40 ft.jpg
440 ft right 90.jpg
58 ft.jpg


Use PascalScript

{
http://www.den4b.com/forum/viewtopic.php?pid=9406#p9406
FROM:
left 11+15.jpg
200+10 right 90.jpg
17+4.jpg
One Two 5+15 Three Four.jpg
Test +9 Apples.jpg
Test 3 + 3.jpg

TO:
left 26 ft.jpg
210 ft right 90.jpg
21 ft.jpg
One Two 20 ft Three Four.jpg
}

var
SubPatterns: TStringsArray;
vFName,vFN1,vFN2,vBefore,vDigit1,vDigit2,vMath,vAfter: WideString;

Begin
   vFName:= WideExtractBaseName(FileName);

   //Split FileName (vFName) at digit plus '+'-sign plus digit:
   SubPatterns:=SubMatchesRegEx(vFName,'(.*\d)\+(\d.*)',false);
   if Length(SubPatterns) <2 then exit;
   vFN1 := SubPatterns[0];
   vFN2 := SubPatterns[1];

     begin
          //Work on First filename part (vFN1):
          //Split between non-relevant and relevant parts:
          SubPatterns:=SubMatchesRegEx(vFN1,'^(.*?)(\d+)$',false);
          if Length(SubPatterns) <=0 then exit;

          //Are there non-relevant AND relevant parts?:
          if Length(SubPatterns) =2 then
          begin
            vBefore := SubPatterns[0]
            vDigit1 := SubPatterns[1]
          end
          else
            vDigit1 := SubPatterns[0];

          //Work on Second filename part (vFN2):
          //Split between relevant and non-relevant parts:
          SubPatterns:=SubMatchesRegEx(vFN2,'^(\d+)(.*)$',false);
          if Length(SubPatterns) <=0 then exit;

          //Are there non-relevant AND relevant parts?:
          if Length(SubPatterns) =2 then
          begin
            vDigit2 := SubPatterns[0]
            vAfter  := SubPatterns[1]
          end
          else
            vDigit2 := SubPatterns[0];
     end;

//Do the math:
    vMath := IntToStr(StrToInt(vDigit1) + StrToInt(vDigit2));
//Compose new filename:
   FileName := vBefore + vMath + ' ft' + vAfter + WideExtractFileExt(FileName);
End.

HTH? big_smile


Read the  *WIKI* for HELP + MANUAL + Tips&Tricks.
If ReNamer had helped you, please *DONATE* to Denis or buy a PRO license. (Read *Lite vs Pro*)

Offline

#3 2016-05-12 16:01

aulia
Member
Registered: 2016-05-11
Posts: 2

Re: Summation file name

big_smile big_smile big_smile
nice Script,
it's work,
great software
You’ve been very helpful
I really appreciate of what you have done
thanks stefan smile

Last edited by aulia (2016-05-12 16:18)

Offline

Board footer

Powered by FluxBB