如何通过添加空格使所有文件名长度相同?

how can i make all the filenames the same length by adding spaces to it?

我想使文件名+空格=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

您可以使用 String#padEnd(),将空格添加到文件名字符串的末尾,以便生成的字符串具有您指定的最小长度。

考虑下面的代码片段,直到 fileNameA.padEnd(211) returns 一个具有与 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;

使用高级重命名器工作的脚本

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;

学分 David Lee from advanced Renamer forms