Difference between revisions of "ReNamer:Rules:Rearrange"

From den4b Wiki
Jump to navigation Jump to search
Line 1: Line 1:
 +
== Rearrange rule<br>  ==
  
 +
[[Image:RearrangeRule.png|center]]This rule allows you to cut the exiting file name anyway you like and reuse the parts to compose a new name.
  
 +
*You can also add your own text, or use any meta tags while composing the new name.
  
This rule allows you to cut the exiting file name anyway you like and reuse the parts to compose a new name.
+
The parameters are as follows:
  
You can also add your own text, or use any meta tags to compose the new name.
+
{| cellspacing="1" cellpadding="1" border="1" style="width: 685px; height: 562px;"
 +
|-
 +
| align="center" | '''Parameter'''
 +
| align="center" | '''How to use-'''
 +
|-
 +
| split using-
 +
|
 +
Specifies how to split the existing name into parts.
 +
 
 +
*You can use only one of the two options at a time (you cannot combine the chopping methods)<br>
 +
 
 +
{| cellspacing="1" cellpadding="1" border="1" style="width: 518px; height: 140px;"
 +
|-
 +
| align="center" | '''Option'''
 +
| align="center" | '''What it does-'''
 +
|-
 +
| Delimiter
 +
|
 +
Chop the name where the delimiter occurs.
 +
 
 +
*The delimiter can be a single character or a string.
 +
*The chopped parts do <u>''not''</u> contain the delimiters (they are omitted totally)
 +
*Spaces, numbers and symbols are treated like normal characters.
 +
*Several delimiters can be used at a time. Use the &#124; character to separate them.
 +
*The chopped parts are numbered from left, as $1, $2, $3, etc.
 +
*If the delimiter occurs at the very beginning of the name, the resultant $1 contains nothing (because thereis nothing on the left side of the delimiter).<br>
 +
 
 +
|-
 +
| Positions
 +
|
 +
Chops the name at the indicated position (the count begins with 1).
 +
 
 +
*If you enter position '''''n''''', ReNamer will chop the nth character and all characters beyond that in a separate piece.
 +
*Spaces, numbers and symbols are treated like normal characters.
 +
*Contracry to "delimiter" option, no part of the original name is omitted during chopping.
 +
*You can enter multiple positions. Separate them with the &#124; character.
 +
 
 +
|}
 +
 
 +
|-
 +
| Right-to-left
 +
|
 +
If selected, the numbering starts from right.
 +
 
 +
*The characters of the original names are counted from right (the count begins with 1)
 +
*The chopped parts will also be numbered from right ($1, $2, etc.)
 +
 
 +
|-
 +
| new pattern/order
 +
|
 +
How to compose the new name from the parts created from the original name (see above).
 +
 
 +
*You can add meta tags and literal text wherever you want.
 +
 
 +
|}
  
There are a huge number of possible uses. Only a few examples are given here.
+
This rule can be used in a many ways. Only a few examples are given below.  
  
 
For simplicity's sake, we have split the uses in two parts:  
 
For simplicity's sake, we have split the uses in two parts:  
# Basic uses (typical needs of beginners would be met with these examples)
 
# Advanced uses (for the power users)
 
  
== Basic uses ==
+
#'''Basic uses '''(typical needs of beginners)
 +
#'''Advanced uses''' (for the power users)
 +
 
 +
== Basic uses ==
 +
 
 
=== Example 1  ===
 
=== Example 1  ===
  
'''Task:''' Switch the name and surname''', '''and remove comma.  
+
'''Task:''' Switch the words, and remove the comma between them.  
  
{| style="width: 330px; height: 106px;" class="prettytable"
+
{| width="330" height="106" align="center" class="prettytable" style=""
 
|-
 
|-
 
| <center>'''Change from-'''</center>  
 
| <center>'''Change from-'''</center>  
Line 34: Line 93:
 
|}
 
|}
  
'''Setting:'''  
+
'''Settings:'''  
  
 
Delimiter: ", " (without the quotes)  
 
Delimiter: ", " (without the quotes)  
  
New Order: $2 $1
+
New Order: $2 $1  
  
=== Example 2 ===
+
=== Example 2 ===
  
 
===  ===
 
===  ===
Line 59: Line 118:
 
Delimiter: " " (only a space, without the quotes)  
 
Delimiter: " " (only a space, without the quotes)  
  
New Order: $3 $1 $2 $4
+
New Order: $3 $1 $2 $4  
  
 
=== Example 3  ===
 
=== Example 3  ===
Line 81: Line 140:
  
 
|}
 
|}
 
 
  
 
'''Settings:'''  
 
'''Settings:'''  
Line 90: Line 147:
 
New Order: $2  
 
New Order: $2  
  
<br> '''Remarks:'''  
+
'''Remarks:'''  
  
 
#Note that the delimiter contains a space. If only a hyphen is used as delimiter, then a space would be left out in the beginning of the name, which you would have to trim separately.  
 
#Note that the delimiter contains a space. If only a hyphen is used as delimiter, then a space would be left out in the beginning of the name, which you would have to trim separately.  
 
#The '''Delete''' rule also would work (in ''right-to-left ''mode). But the '''Rearrange''' rule also allows you to add any string to the truncated names.
 
#The '''Delete''' rule also would work (in ''right-to-left ''mode). But the '''Rearrange''' rule also allows you to add any string to the truncated names.
  
=== Example ===
+
=== Example 4 ===
 +
 
 +
'''Task: '''Move the first part to the end.
  
 
{| class="prettytable"
 
{| class="prettytable"
| <center>'''Change from-'''</center>
+
|-
 +
| <center>'''Change from-'''</center>  
 
| <center>'''To-'''</center>
 
| <center>'''To-'''</center>
 
 
|-
 
|-
| TEST.aaa.bbb.100.ext
+
| TEST.aaa.bbb.100.ext  
 
| aaa.bbb.100.TEST.ext
 
| aaa.bbb.100.TEST.ext
 
 
|}
 
|}
'''Task: '''Move the first part to the end.
 
  
  
'''Setting:'''
 
  
Delimiter: "." (without the quotes)
+
'''Setting:'''
  
<nowiki>Skip Extension [X]</nowiki>
+
Delimiter: "." (without the quotes)
  
New Order: $2.$3.$4.$1  
+
New Order: $2.$3.$4.$1<br>
  
 +
=== Example 5 ===
  
=== Example ===
+
'''Task: '''Move the artist's name from end to the beginning, and change the name format.
  
 
{| class="prettytable"
 
{| class="prettytable"
| <center>'''Change from-'''</center>
+
|-
 +
| <center>'''Change from-'''</center>  
 
| <center>'''To-'''</center>
 
| <center>'''To-'''</center>
 
 
|-
 
|-
| Ring ring_ABBA.mp3
+
| Ring ring_ABBA.mp3  
 
+
Material girl_Madonna.mp3  
Material girl_Madonna.mp3
 
| ABBA - Ring Ring.mp3
 
  
Madonna - Material girl mp3
+
| ABBA - Ring Ring.mp3
 +
Madonna - Material girl mp3  
  
 
|}
 
|}
'''Task: '''Move the artists’ name from end to the beginning, and change the name format.
 
  
  
'''Setting:'''
 
  
Delimiter: "_" (without the quotes)
+
'''Settings:'''
  
<nowiki>Skip Extension [ ]</nowiki>
+
Delimiter: "_" (without the quotes)
  
New Order: $2 - $1
+
New Order: $2 - $1  
  
=== Example ===
+
=== Example ===
 +
 
 +
'''Task:''' Move the numbers to the beginning.
  
 
{| class="prettytable"
 
{| class="prettytable"
| <center>'''Change from-'''</center>
+
|-
 +
| <center>'''Change from-'''</center>  
 
| <center>'''To-'''</center>
 
| <center>'''To-'''</center>
 +
|-
 +
| DSC_0001-1.jpg
 +
DSC_0001-10.jpg
  
|-
+
DSC_0001-2.jpg  
| DSC_0001-1.jpg
 
  
DSC_0001-10.jpg
+
| 1-DSC_0001.jpg
 +
10-DSC_0001.jpg  
  
DSC_0001-2.jpg
+
2-DSC_0001.jpg  
| 1-DSC_0001.jpg
 
  
10-DSC_0001.jpg
+
|}
  
2-DSC_0001.jpg
 
  
|}
 
'''Task:''' Move the numbers to the beginning.
 
  
 +
'''Settings:'''
  
'''Setting:'''
+
Delimiter: "-" (without the quotes)
  
Delimiter: "-" (without the quotes)
+
New Order: $2-$1
  
New Order: $2-$1
+
<br>
  
 +
=== Example 7  ===
  
=== Example ===
+
'''Task:''' Insert "sent_" before the last 3 digits.
  
 
{| class="prettytable"
 
{| class="prettytable"
| <center>'''Change from-'''</center>
+
|-
 +
| <center>'''Change from-'''</center>  
 
| <center>'''To-'''</center>
 
| <center>'''To-'''</center>
 
 
|-
 
|-
| family_001.jpg
+
| family_001.jpg
 +
work_023.jpg  
  
work_023.jpg
+
friend_098.jpg  
  
friend_098.jpg
+
| family_sent_001.jpg  
| family_sent_001.jpg
+
work_sent_023.jpg  
  
work_sent_023.jpg
+
friend_sent_098.jpg  
  
friend_sent_098.jpg
+
|}
  
|}
 
'''Task:''' Insert "sent_" before the last 3 digits.
 
  
'''Setting:'''
 
  
Delimiter: "_" (without the quotes)
+
'''Settings:'''
  
New Order: $1_sent_$2
+
Delimiter: "_" (without the quotes)
  
 +
New Order: $1_sent_$2
  
 
'''Remarks:'''  
 
'''Remarks:'''  
  
The '''Insert''' rule also would work (in ''right-to-left ''mode). But the '''Rearrange''' rule also allows you to add any string to the names.
+
The '''Insert''' rule also would work (in ''right-to-left ''mode). But the '''Rearrange''' rule also allows you to add any string to the names.  
  
=== Example ===
+
=== Example ===
 +
 
 +
'''Task:''' Remove the name of the artist (delete text until hyphen).
  
 
{| class="prettytable"
 
{| class="prettytable"
| <center>'''Change from-'''</center>
+
|-
 +
| <center>'''Change from-'''</center>  
 
| <center>'''To-'''</center>
 
| <center>'''To-'''</center>
 
 
|-
 
|-
| Sting - All This Time.mp3
+
| Sting - All This Time.mp3  
 
| All This Time.mp3
 
| All This Time.mp3
 
 
|}
 
|}
'''Task:''' Remove the name of the artist (delete text until hyphen).
 
  
  
'''Setting:'''
 
  
Delimiter: "- " (without the quotes)
+
'''Settings:'''
  
New Order: $2
+
Delimiter: "- " (without the quotes)
  
 +
New Order: $2
  
'''Remarks:'''
+
'''Remarks:'''  
 +
 
 +
#Note the space after the hyphen. If we use just a "-" as delimiter, the second token would be left with a space in front, which we will have to trim separately.
 +
#Even the '''Delete''' rule would have worked (in ''right-to-left ''mode). But the '''Rearrange''' rule also allows you to add any string to the new name.
  
# Note the space after the hyphen. If we use just a “-“ as delimiter, the second token would be left with a space in front, which we will have to trim separately.
+
=== Example 9  ===
# Even the '''Delete''' rule would have worked (in ''right-to-left ''mode). But the '''Rearrange''' rule also allows you to add any string to the new name.
 
  
=== Example ===
+
'''Task:''' Remove the track numbers (and any separator symbol after that) from the beginning of the filenames:
  
 
{| class="prettytable"
 
{| class="prettytable"
| <center>'''Change from-'''</center>
+
|-
 +
| <center>'''Change from-'''</center>  
 
| <center>'''To-'''</center>
 
| <center>'''To-'''</center>
 
 
|-
 
|-
| 08. Madonna - Like A Prayer.wma
+
| 08. Madonna - Like A Prayer.wma
 +
08.-Madonna - Like A Prayer.wma  
  
08.-Madonna - Like A Prayer.wma
+
08 Madonna&nbsp; - Like A Prayer.wma  
  
08 Madonna – Like A Prayer.wma
+
| Madonna&nbsp; - Like A Prayer.wma
| Madonna – Like A Prayer.wma
+
|}
  
|}
 
'''Task:''' Remove the track numbers (and any separator symbol after that) from the beginning of the filenames:
 
  
  
'''Setting:'''
+
'''Settings:'''  
  
Delimiter: "Mad" (without the quotes)
+
Delimiter: "Mad" (without the quotes)  
  
New Order: Mad$2
+
New Order: Mad$2  
  
 +
'''Remarks: '''
  
'''Remarks: '''
+
We chose the string "Mad" as delimiter because it does not occur anywhere else in the names. The unwanted characters on the left are assigned to token $1, which we will not omit in the new name. However, there is an undesired side-effect: ReNamer removes "Mad" string from the token $2 because it is the delimiter. Therefore, we have to manually add that missing string "Mad" to $2, to restore the names.
  
We chose the string “Mad” as delimiter because it does not occur anywhere else in the names. The unwanted characters on the left are assigned to token $1, which we will not omit in the new name. However, there is an undesired side-effect: ReNamer removes “Mad” string from the token $2 because it is the delimiter. Therefore, we have to manually add that missing string “Mad” to $2, to restore the names.
+
=== Example 10 ===
  
=== Example ===
+
'''Task: '''Move the number to front, and remove the square brackets.
  
{| class="prettytable"
+
{| class="prettytable" style="width: 273px; height: 48px;"
| <center>'''Change from-'''</center>
+
|-
 +
| <center>'''Change from-'''</center>  
 
| <center>'''To-'''</center>
 
| <center>'''To-'''</center>
 
 
|-
 
|-
| <nowiki>Name XXX [0001].jpg</nowiki>
+
| Name XXX [0001].jpg<br>  
 
| 0001 - Name XXX.jpg
 
| 0001 - Name XXX.jpg
 +
|}
  
|}
 
'''Task: '''Move the number to front, and remove the square brackets.
 
  
  
'''Setting:'''
+
'''Settings:'''  
  
Delimiter: <nowiki>"[|]" (without the quotes)</nowiki>
+
Delimiter: "[|]" (without the quotes)  
  
New Order: $2 - $1
+
New Order: $2 - $1  
  
 +
'''Remarks:'''
  
'''Remarks:'''
+
#The | character is used to separate the two delimiters.
 +
#The second delimiter "|" will not produce a token. It is included only to remove it from the new name.
  
# The | character is used to separate the two delimiters.
+
=== Example 11<br> ===
# The second delimiter “]” will not produce a token. It is included only to remove it from the new name.
 
  
=== Example ===
+
'''Task: '''Add composer name and duration to an mp3 file,as prefix and suffix, respectively
  
 
{| class="prettytable"
 
{| class="prettytable"
| <center>'''Change from-'''</center>
+
|-
 +
| <center>'''Change from-'''</center>  
 
| <center>'''To-'''</center>
 
| <center>'''To-'''</center>
 
 
|-
 
|-
| Eine kleine Nachtmusik.mp3
+
| Eine kleine Nachtmusik.mp3
 +
Don Giovanni.mp3  
  
Don Giovanni.mp3
+
| Mozart - Eine kleine Nachtmusik (6.37).mp3
| Mozart - Eine kleine Nachtmusik (6.37).mp3
+
Mozart - Don Giovanni (4.5).mp3  
  
Mozart - Don Giovanni (4.5).mp3
+
|}
  
|}
 
'''Task: '''Add composer name and duration to an mp3 file,''' '''as prefix and suffix, respectively
 
  
  
'''Setting:'''
+
'''Settings:'''  
  
Positions: 1
+
Positions: 1  
  
New Order: Mozart - $2 (:AudioDuration:)
+
New Order: Mozart - $2 (:AudioDuration:)  
  
 +
'''Remarks:'''
  
'''Remarks:'''
+
#This can also be done by using the '''Insert''' rule. However, you have to use that rule twice (once for prefix and the second time for the suffix). On the other hand, the '''Rearrange''' rule allows you to add both in a single stroke. Besides, you can see the structure of the new name.
 +
#When the original name is sliced at position 1, there is no characters on the left side; so the $1 token is a blank. The ''entire'' name is copied into the $2 token. This is a great trick to compose new name using the ''whole'' original name.
  
# This can also be done by using the '''Insert''' rule. However, you have to use that rule twice (once for prefix and the second time for the suffix). On the other hand, the '''Rearrange''' rule allows you to add both in a single stroke. Besides, you can see the structure of the new name.
+
== Advanced uses  ==
# When the original name is sliced at position 1, there is no characters on the left side; so the $1 token is a blank. The ''entire'' name is copied into the $2 token. This is a great trick to compose new name using the ''whole'' original name.
 
  
== Advanced uses ==
+
=== Example 1<br> ===
=== Example ===
 
  
{| class="prettytable"
+
'''Task:''' Remove the string&nbsp; from the file name.
| <center>'''Change from-'''</center>
+
 
 +
{| class="prettytable" style="width: 426px; height: 48px;"
 +
|-
 +
| <center>'''Change from-'''</center>  
 
| <center>'''To-'''</center>
 
| <center>'''To-'''</center>
 +
|-
 +
| Artist - Title [Time 4 02 Cold] [2004].mpg<br>
 +
| Artist - Title [2004].mpg<br>
 +
|}
  
|-
 
| <nowiki>Artist - Title [Time 4 02 Cold] [2004].mpg</nowiki>
 
| <nowiki>Artist - Title [2004].mpg</nowiki>
 
  
|}
 
'''Task:''' Remove the string '''<nowiki>[Time ???? Cold]</nowiki>''' from the file name.
 
  
 +
'''Settings:'''
  
'''Setting:'''
+
Delimiter: " [T|d] " (without the quotes)
  
<nowiki>Delimiter: " [T|d] " </nowiki>(without the quotes)
+
New Order: $1 $3
  
New Order: $1 $3
+
'''Remarks:'''
  
 +
#The '''|''' character separates the two delimiters.
 +
#Notice that we have included spaces in the delimiters, so that they do not end up as part of the tokens.
 +
#We have selected two ''different'' delimiters to represent the beginning- and the end of the string we want to remove. Thus '''''whatever''''' lies between the two delimiters is converted into a token. This token is then omitted in the new name. This works just like using wildcards for the string (or a RegEx pattern).
  
'''Remarks:'''
+
=== Example 2<br> ===
  
# The '''|''' character separates the two delimiters.
+
'''Task: '''The file names contain artist name, album name and track name. Sort them into separate folders as follows:
# Notice that we have included spaces in the delimiters, so that they do not end up as part of the tokens.
 
# We have selected two ''different'' delimiters to represent the beginning- and the end of the string we want to remove. Thus '''''whatever''''' lies between the two delimiters is converted into a token. This token is then omitted in the new name. This works just like using wildcards for the string (or a RegEx pattern).
 
  
=== Example ===
+
#Create a separate folder for each artist.
 +
#For each artist, create a subfolder for each album.
 +
#Move each file in the corresponding folder.
  
 
{| class="prettytable"
 
{| class="prettytable"
| <center>'''Change from-'''</center>
+
|-
 +
| <center>'''Change from-'''</center>  
 
| <center>'''To-'''</center>
 
| <center>'''To-'''</center>
 
 
|-
 
|-
| Song title1 – Artist1 (Album1).mp3
+
| Song title1 - Artist1 (Album1).mp3  
 
+
Song title2 - Artist1 (Album1).mp3  
Song title2 – Artist1 (Album1).mp3
 
  
Song title1 – Artist1 (Album2).mp3
+
Song title1 - Artist1 (Album2).mp3  
  
Song title2 – Artist1 (Album2).mp3
+
Song title2 - Artist1 (Album2).mp3  
  
Song title1 – Artist2 (Album1).mp3
+
Song title1 - Artist2 (Album1).mp3  
  
Song title1 – Artist2 (Album1).mp3
+
Song title1 - Artist2 (Album1).mp3  
| D:\Artist1\Album1\Song title1.mp3
 
  
D:\Artist1\Album1\Song title2.mp3
+
| D:\Artist1\Album1\Song title1.mp3
 +
D:\Artist1\Album1\Song title2.mp3  
  
D:\Artist1\Album2\Song title1.mp3
+
D:\Artist1\Album2\Song title1.mp3  
  
D:\Artist1\Album2\Song title2.mp3
+
D:\Artist1\Album2\Song title2.mp3  
  
D:\Artist2\Album1\Song title1.mp3
+
D:\Artist2\Album1\Song title1.mp3  
  
D:\Artist2\Album1\Song title2.mp3
+
D:\Artist2\Album1\Song title2.mp3  
  
 
|}
 
|}
'''Task: '''The file names contain artist name, album name and track name.
 
  
Sort them into separate folders as follows:
 
  
# Create a separate folder for each artist.
 
# For each artist, create a subfolder for each album.
 
# Move each file in the corresponding folder.
 
  
'''Setting:'''
+
'''Settings:'''  
  
Delimiter: " - | (|)" (without the quotes)
+
Delimiter: " - | (|)" (without the quotes)  
  
<nowiki>Skip Extension [x]</nowiki>
+
New pattern: D:\$2\$3\$1
  
New pattern: D:\$2\$3\$1
+
'''Remarks:'''
  
 +
#Note that the delimiters contain spaces and symbols, so that only text remains in the tokens.
 +
#The last delimiter ) does not produce a token. It is added just to strip the closing bracket from the last token.
 +
#Instead of “D:”, a relative path (such as '''..\..\''') can be added to the front.
  
'''Remarks:'''
+
=== Example 3<br> ===
  
# Note that the delimiters contain spaces and symbols, so that only text remains in the tokens.
+
'''Task: '''Sort digital photos in different folders based on the “Date taken” for each photo.  
# The last delimiter ) does not produce a token. It is added just to strip the closing bracket from the last token.
 
# Instead of “D:”, a relative path (such as '''..\..\''') can be added to the front.
 
 
 
=== Example ===
 
  
 
{| class="prettytable"
 
{| class="prettytable"
| <center>'''Change from-'''</center>
+
|-
 +
| <center>'''Change from-'''</center>  
 
| <center>'''To-'''</center>
 
| <center>'''To-'''</center>
 
 
|-
 
|-
| DSC_0001.jpg
+
| DSC_0001.jpg
 +
DSC_0002.jpg  
  
DSC_0002.jpg
+
DSC_0003.jpg  
  
DSC_0003.jpg
+
DSC_0004.jpg
 +
<center>'''…..'''</center>
 +
DSC_0125.jpg  
  
DSC_0004.jpg
+
| D:\photos\trip\2009_10_21\DSC_0001.jpg
 +
D:\photos\trip\2009_10_21\DSC_0002.jpg  
  
<center>'''…..'''</center>
+
D:\photos\trip\2009_10_21\DSC_0003.jpg  
 
 
DSC_0125.jpg
 
| D:\photos\trip\2009_10_21\DSC_0001.jpg
 
 
 
D:\photos\trip\2009_10_21\DSC_0002.jpg
 
 
 
D:\photos\trip\2009_10_21\DSC_0003.jpg
 
 
 
D:\photos\trip\2009_10_22\DSC_0004.jpg
 
 
 
<center>'''………'''</center>
 
 
 
D:\photos\trip\2009_10_25\DSC_0125.jpg
 
  
 +
D:\photos\trip\2009_10_22\DSC_0004.jpg
 +
<center>'''………'''</center>
 +
D:\photos\trip\2009_10_25\DSC_0125.jpg
  
 +
<br>
  
 +
<br>
  
 
|}
 
|}
'''Task: '''Sort digital photos in different folders based on the “Date taken” for each photo.
 
  
  
'''Setting:'''
 
  
Delimiter: "D" (without the quotes)
+
'''Settings:'''
  
<nowiki>Skip Extension [x]</nowiki>
+
Delimiter: "D" (without the quotes)
  
New pattern: D:\photos\trip\:EXIF_Date:\D$2
+
New pattern: D:\photos\trip\:EXIF_Date:\D$2  
  
 +
'''Remarks:'''
  
'''Remarks:'''
+
#Note that this EXIF data is contained in the meta tag of each photo, not in the file name.
 +
#The meta tag ''':EXIF_Date: '''is replaced by the actual '''date taken''' for each photo. Thus all photos taken on the same date will be moved to the same folder (which is named after that date).
 +
#The actual name of the folder would depend upon the current settings for the system date format. (If you want the folders to be named after a different date format, first change the system date format, using the '''Regional and Language Options''' option in the '''Control Panel'''.)
  
# Note that this EXIF data is contained in the meta tag of each photo, not in the file name.
+
=== Example 4<br> ===
# The meta tag ''':EXIF_Date: '''is replaced by the actual “date taken” for each photo. Thus all photos taken on the same date will be moved to the same folder (which is named after that date).
 
# The actual name of the folder would depend upon the current settings for the system date format. (If you want the folders to be named after a different date format, first change the system date format, using the '''Regional and Language Options''' option in the '''Control Panel'''.)
 
  
=== Example ===
+
'''Task:''' Delete the last part of the base name (but the extension should remain). Note that the file names have different lengths, so you cannot slice the name at a particular position. The names have a different depths also (number of segments separated by dots).
  
 
{| class="prettytable"
 
{| class="prettytable"
| <center>'''Change from-'''</center>
+
|-
 +
| <center>'''Change from-'''</center>  
 
| <center>'''To-'''</center>
 
| <center>'''To-'''</center>
 
 
|-
 
|-
| title.text1.text2.extension
+
| title.text1.text2.extension
 +
title.text1.text2.text3.extension  
  
title.text1.text2.text3.extension
 
 
| title.text1.extension  
 
| title.text1.extension  
 
+
title.text1.text2.extension  
title.text1.text2.extension
 
  
 
|}
 
|}
'''Task:''' Delete the last part of the base name (but the extension should remain). Note that the file names have different lengths, so you cannot slice the name at a particular position. The names have a different depths also (number of segments separated by dots).
 
 
 
'''Setting:''' The solution requires a stack of two different rules, as shown below:
 
  
1. '''Replace''' Rule
 
  
Find: "." (without the quotes)
 
  
Replace: “# “(without the quotes)
+
'''Setting:''' The solution requires a stack of two different rules, as shown below:  
  
<nowiki>Last [X] </nowiki>(this is a temporary change; which will be eliminated in the second step)
+
1. '''Replace''' Rule
  
 +
Find: "." (without the quotes)
  
2. '''Rearrange''' rule
+
Replace: "#" (without the quotes)
  
Delimiter: "#" (without the quotes)
+
(this is a temporary change; which will be eliminated in the second step)  
  
<nowiki>Skip Extension [X]</nowiki>
+
2. '''Rearrange''' rule
  
New Order: $1
+
Delimiter: "#" (without the quotes)
  
 +
New Order: $1
  
'''Remarks: '''
+
'''Remarks: '''  
  
 
We had to do this indirectly because the '''Rearrange''' rule cannot pick only the last dot as delimiter; and ignore the other dots. So we used a trick: we first changed the last dot into another character (using the '''Replace''' rule), and then use that new character as delimiter in the '''Rearrange''' rule.
 
We had to do this indirectly because the '''Rearrange''' rule cannot pick only the last dot as delimiter; and ignore the other dots. So we used a trick: we first changed the last dot into another character (using the '''Replace''' rule), and then use that new character as delimiter in the '''Rearrange''' rule.

Revision as of 15:09, 16 August 2009

Rearrange rule

RearrangeRule.png

This rule allows you to cut the exiting file name anyway you like and reuse the parts to compose a new name.

  • You can also add your own text, or use any meta tags while composing the new name.

The parameters are as follows:

Parameter How to use-
split using-

Specifies how to split the existing name into parts.

  • You can use only one of the two options at a time (you cannot combine the chopping methods)
Option What it does-
Delimiter

Chop the name where the delimiter occurs.

  • The delimiter can be a single character or a string.
  • The chopped parts do not contain the delimiters (they are omitted totally)
  • Spaces, numbers and symbols are treated like normal characters.
  • Several delimiters can be used at a time. Use the | character to separate them.
  • The chopped parts are numbered from left, as $1, $2, $3, etc.
  • If the delimiter occurs at the very beginning of the name, the resultant $1 contains nothing (because thereis nothing on the left side of the delimiter).
Positions

Chops the name at the indicated position (the count begins with 1).

  • If you enter position n, ReNamer will chop the nth character and all characters beyond that in a separate piece.
  • Spaces, numbers and symbols are treated like normal characters.
  • Contracry to "delimiter" option, no part of the original name is omitted during chopping.
  • You can enter multiple positions. Separate them with the | character.
Right-to-left

If selected, the numbering starts from right.

  • The characters of the original names are counted from right (the count begins with 1)
  • The chopped parts will also be numbered from right ($1, $2, etc.)
new pattern/order

How to compose the new name from the parts created from the original name (see above).

  • You can add meta tags and literal text wherever you want.

This rule can be used in a many ways. Only a few examples are given below.

For simplicity's sake, we have split the uses in two parts:

  1. Basic uses (typical needs of beginners)
  2. Advanced uses (for the power users)

Basic uses

Example 1

Task: Switch the words, and remove the comma between them.

Change from-
To-
King, Stephen

Cook, Robin

Pride and Prejudice, The

Stephen King

Robin Cook

The Pride and Prejudice

Settings:

Delimiter: ", " (without the quotes)

New Order: $2 $1

Example 2

Task: Move a word to a new position.

Change from-
To-
Words sample 1234 07-07-07 1234 Words sample 07-07-07

Settings:

Delimiter: " " (only a space, without the quotes)

New Order: $3 $1 $2 $4

Example 3

Task: Get rid of the numbers, hyphen and space at the beginning.

Change from-
To-
01 - Afilename.zip

002 - Bfilename.zip

0003 - Cfilename.zip

Afilename.zip

Bfilename.zip

Cfilename.zip

Settings:

Delimiter: "- " (without the quotes)

New Order: $2

Remarks:

  1. Note that the delimiter contains a space. If only a hyphen is used as delimiter, then a space would be left out in the beginning of the name, which you would have to trim separately.
  2. The Delete rule also would work (in right-to-left mode). But the Rearrange rule also allows you to add any string to the truncated names.

Example 4

Task: Move the first part to the end.

Change from-
To-
TEST.aaa.bbb.100.ext aaa.bbb.100.TEST.ext


Setting:

Delimiter: "." (without the quotes)

New Order: $2.$3.$4.$1

Example 5

Task: Move the artist's name from end to the beginning, and change the name format.

Change from-
To-
Ring ring_ABBA.mp3

Material girl_Madonna.mp3

ABBA - Ring Ring.mp3

Madonna - Material girl mp3


Settings:

Delimiter: "_" (without the quotes)

New Order: $2 - $1

Example 6

Task: Move the numbers to the beginning.

Change from-
To-
DSC_0001-1.jpg

DSC_0001-10.jpg

DSC_0001-2.jpg

1-DSC_0001.jpg

10-DSC_0001.jpg

2-DSC_0001.jpg


Settings:

Delimiter: "-" (without the quotes)

New Order: $2-$1


Example 7

Task: Insert "sent_" before the last 3 digits.

Change from-
To-
family_001.jpg

work_023.jpg

friend_098.jpg

family_sent_001.jpg

work_sent_023.jpg

friend_sent_098.jpg


Settings:

Delimiter: "_" (without the quotes)

New Order: $1_sent_$2

Remarks:

The Insert rule also would work (in right-to-left mode). But the Rearrange rule also allows you to add any string to the names.

Example 8

Task: Remove the name of the artist (delete text until hyphen).

Change from-
To-
Sting - All This Time.mp3 All This Time.mp3


Settings:

Delimiter: "- " (without the quotes)

New Order: $2

Remarks:

  1. Note the space after the hyphen. If we use just a "-" as delimiter, the second token would be left with a space in front, which we will have to trim separately.
  2. Even the Delete rule would have worked (in right-to-left mode). But the Rearrange rule also allows you to add any string to the new name.

Example 9

Task: Remove the track numbers (and any separator symbol after that) from the beginning of the filenames:

Change from-
To-
08. Madonna - Like A Prayer.wma

08.-Madonna - Like A Prayer.wma

08 Madonna  - Like A Prayer.wma

Madonna  - Like A Prayer.wma


Settings:

Delimiter: "Mad" (without the quotes)

New Order: Mad$2

Remarks:

We chose the string "Mad" as delimiter because it does not occur anywhere else in the names. The unwanted characters on the left are assigned to token $1, which we will not omit in the new name. However, there is an undesired side-effect: ReNamer removes "Mad" string from the token $2 because it is the delimiter. Therefore, we have to manually add that missing string "Mad" to $2, to restore the names.

Example 10

Task: Move the number to front, and remove the square brackets.

Change from-
To-
Name XXX [0001].jpg
0001 - Name XXX.jpg


Settings:

Delimiter: "[|]" (without the quotes)

New Order: $2 - $1

Remarks:

  1. The | character is used to separate the two delimiters.
  2. The second delimiter "|" will not produce a token. It is included only to remove it from the new name.

Example 11

Task: Add composer name and duration to an mp3 file,as prefix and suffix, respectively

Change from-
To-
Eine kleine Nachtmusik.mp3

Don Giovanni.mp3

Mozart - Eine kleine Nachtmusik (6.37).mp3

Mozart - Don Giovanni (4.5).mp3


Settings:

Positions: 1

New Order: Mozart - $2 (:AudioDuration:)

Remarks:

  1. This can also be done by using the Insert rule. However, you have to use that rule twice (once for prefix and the second time for the suffix). On the other hand, the Rearrange rule allows you to add both in a single stroke. Besides, you can see the structure of the new name.
  2. When the original name is sliced at position 1, there is no characters on the left side; so the $1 token is a blank. The entire name is copied into the $2 token. This is a great trick to compose new name using the whole original name.

Advanced uses

Example 1

Task: Remove the string  from the file name.

Change from-
To-
Artist - Title [Time 4 02 Cold] [2004].mpg
Artist - Title [2004].mpg


Settings:

Delimiter: " [T|d] " (without the quotes)

New Order: $1 $3

Remarks:

  1. The | character separates the two delimiters.
  2. Notice that we have included spaces in the delimiters, so that they do not end up as part of the tokens.
  3. We have selected two different delimiters to represent the beginning- and the end of the string we want to remove. Thus whatever lies between the two delimiters is converted into a token. This token is then omitted in the new name. This works just like using wildcards for the string (or a RegEx pattern).

Example 2

Task: The file names contain artist name, album name and track name. Sort them into separate folders as follows:

  1. Create a separate folder for each artist.
  2. For each artist, create a subfolder for each album.
  3. Move each file in the corresponding folder.
Change from-
To-
Song title1 - Artist1 (Album1).mp3

Song title2 - Artist1 (Album1).mp3

Song title1 - Artist1 (Album2).mp3

Song title2 - Artist1 (Album2).mp3

Song title1 - Artist2 (Album1).mp3

Song title1 - Artist2 (Album1).mp3

D:\Artist1\Album1\Song title1.mp3

D:\Artist1\Album1\Song title2.mp3

D:\Artist1\Album2\Song title1.mp3

D:\Artist1\Album2\Song title2.mp3

D:\Artist2\Album1\Song title1.mp3

D:\Artist2\Album1\Song title2.mp3


Settings:

Delimiter: " - | (|)" (without the quotes)

New pattern: D:\$2\$3\$1

Remarks:

  1. Note that the delimiters contain spaces and symbols, so that only text remains in the tokens.
  2. The last delimiter ) does not produce a token. It is added just to strip the closing bracket from the last token.
  3. Instead of “D:”, a relative path (such as ..\..\) can be added to the front.

Example 3

Task: Sort digital photos in different folders based on the “Date taken” for each photo.

Change from-
To-
DSC_0001.jpg

DSC_0002.jpg

DSC_0003.jpg

DSC_0004.jpg

…..

DSC_0125.jpg

D:\photos\trip\2009_10_21\DSC_0001.jpg

D:\photos\trip\2009_10_21\DSC_0002.jpg

D:\photos\trip\2009_10_21\DSC_0003.jpg

D:\photos\trip\2009_10_22\DSC_0004.jpg

………

D:\photos\trip\2009_10_25\DSC_0125.jpg




Settings:

Delimiter: "D" (without the quotes)

New pattern: D:\photos\trip\:EXIF_Date:\D$2

Remarks:

  1. Note that this EXIF data is contained in the meta tag of each photo, not in the file name.
  2. The meta tag :EXIF_Date: is replaced by the actual date taken for each photo. Thus all photos taken on the same date will be moved to the same folder (which is named after that date).
  3. The actual name of the folder would depend upon the current settings for the system date format. (If you want the folders to be named after a different date format, first change the system date format, using the Regional and Language Options option in the Control Panel.)

Example 4

Task: Delete the last part of the base name (but the extension should remain). Note that the file names have different lengths, so you cannot slice the name at a particular position. The names have a different depths also (number of segments separated by dots).

Change from-
To-
title.text1.text2.extension

title.text1.text2.text3.extension

title.text1.extension

title.text1.text2.extension


Setting: The solution requires a stack of two different rules, as shown below:

1. Replace Rule

Find: "." (without the quotes)

Replace: "#" (without the quotes)

(this is a temporary change; which will be eliminated in the second step)

2. Rearrange rule

Delimiter: "#" (without the quotes)

New Order: $1

Remarks:

We had to do this indirectly because the Rearrange rule cannot pick only the last dot as delimiter; and ignore the other dots. So we used a trick: we first changed the last dot into another character (using the Replace rule), and then use that new character as delimiter in the Rearrange rule.