如何通过添加空格使所有文件名长度相同?
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;
我想使文件名+空格=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;