incrementing every 3 pictures
Hey,
I have a folder of pictures with pictures (name is irrelevant), which I want to name as following:
S1_L1
S2_L1
S3_L1
S1_L2
S2_L2
S3_L2
S1_L3
...
I tried to script it like this:
var object_id;
var layer_number;
var i;
if ((index - 1) % 3 = 0) {
object_id = '1';
i = index + 2
} else {
if ((index - 2) % 3 = 0) {
object_id = '2';
i = index + 1
} else {
object_id = '3';
i = index
}
layer_number = Integer.toString(i);
return 'S' + object_id + '_L' + layer_number;
}
If include the last } i get the error 'invalid lvalue' if I exclude it, I get a parse-error. Where is my mistake?
Many thanks in advance!
Kindly,
Richard
I have a folder of pictures with pictures (name is irrelevant), which I want to name as following:
S1_L1
S2_L1
S3_L1
S1_L2
S2_L2
S3_L2
S1_L3
...
I tried to script it like this:
var object_id;
var layer_number;
var i;
if ((index - 1) % 3 = 0) {
object_id = '1';
i = index + 2
} else {
if ((index - 2) % 3 = 0) {
object_id = '2';
i = index + 1
} else {
object_id = '3';
i = index
}
layer_number = Integer.toString(i);
return 'S' + object_id + '_L' + layer_number;
}
If include the last } i get the error 'invalid lvalue' if I exclude it, I get a parse-error. Where is my mistake?
Many thanks in advance!
Kindly,
Richard
You have several errors...
1) Advanced Renamer scripts are actually JavaScript functions called by the built-in script. The "{" and "}" are added automatically and are visible, greyed out, above and below the code window.
ie:
function (index, item) {
<Your Code>
}
2) The Java Script "if" statement can only contain one "else" clause. For intermediate conditions you need to use "else if":
if(...) {
...
} else if (...) {
...
} else if (...) {
...
} else {
...
}
3) Conditional equals is "==" not "=":
eg: if ((index - 1) % 3 == 0) { }
4) Your logic is faulty - and your solution is grossly over-complicated!
All you need is:
return 'S' + (index % 3 + 1) + '_L' + Math.ceil((index + 1) / 3);
1) Advanced Renamer scripts are actually JavaScript functions called by the built-in script. The "{" and "}" are added automatically and are visible, greyed out, above and below the code window.
ie:
function (index, item) {
<Your Code>
}
2) The Java Script "if" statement can only contain one "else" clause. For intermediate conditions you need to use "else if":
if(...) {
...
} else if (...) {
...
} else if (...) {
...
} else {
...
}
3) Conditional equals is "==" not "=":
eg: if ((index - 1) % 3 == 0) { }
4) Your logic is faulty - and your solution is grossly over-complicated!
All you need is:
return 'S' + (index % 3 + 1) + '_L' + Math.ceil((index + 1) / 3);
Reply to #2:
Awesome, thank you so much!
Awesome, thank you so much!