You are not logged in.
Pages: 1
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
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? ![]()
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
 
 ![]()
nice Script,
it's work,
great software 
You’ve been very helpful
I really appreciate of what you have done 
thanks stefan ![]()
Last edited by aulia (2016-05-12 16:18)
Offline
Pages: 1