我要使filename + spaces = 211个字符 但是问题在于,如果文件名字符= 30
我需要181个空格
而如果文件名字符= 80
我需要131个空格
我尝试了高级重命名器
标记选项+空格。
<Name>
.. 甚至脚本部分中的该脚本
var maxLength = 25;
var name = item.name;
var date = app.parseTags("<Year Modified><Month Modified><Day Modified>");
var numSpaces = maxLength - name.length - date.length;
var spaces = "";
for (i = 0; i < numSpaces; i++) spaces += " ";
return name + spaces + date;
但是它给了我这个错误 name is not defined in the line 3
答案 0 :(得分:0)
您可以使用String#padEnd()
在文件名字符串的末尾添加空格,以使结果字符串的最小长度为您指定的长度。
考虑以下代码段,直到fileNameA.padEnd(211)
返回一个新字符串,该字符串的前导字符与fileNameA
相同,但用空格填充该字符串的其余部分,以使该字符串的长度为211
:
const fileNameA = 'your file name';
const fileNameB = 'some other big file name';
const paddedFileNameA = fileNameA.padEnd(211);
const paddedFileNameB = fileNameB.padEnd(211);
console.log(`
paddedFileNameA:
"${paddedFileNameA}"
length of paddedFileNameA: ${paddedFileNameA.length}
`)
console.log(`
paddedFileNameB:
"${paddedFileNameB}"
length of paddedFileNameB: ${paddedFileNameB.length}
`)
我不熟悉Advanced Renamer中设置的脚本功能,但是您可能会发现它适合您:
/*
Set length to 211
*/
var maxLength = 211;
var name = item ? item.name : '';
var date = app.parseTags("<Year Modified><Month Modified><Day Modified>");
/*
Ensure variables are not undefined or null
*/
if(!name) {
name = '';
}
if(!date) {
date = '';
}
/*
Construct result string
*/
var result = name;
for (i = 0; i < (maxLength - (name.length + date.length)); i++) {
result += ' ';
}
result += date;
return result;
答案 1 :(得分:0)
使用高级重命名器的脚本
var maxLength = 222;
var name = item.name;
var date = app.parseTags("<Year Modified><Month Modified><Day Modified>");
var numSpaces = maxLength - name.length - date.length;
var spaces = "";
for (i = 0; i < numSpaces; i++) spaces += " ";
return name + spaces + date;