ExtendScript Toolkit CCC - 如果只找到一个数字,则添加前导零

ExtendScript Toolkit CCC - Adding a leading zero if only a single digit is found

我有一个脚本可以将我的 illustrator 文件的图层名称更改为 "Test 1, Test 2, etc..." 我想要完成的只是将前导零添加到个位数。 "Test 01, Test 02 ... Test 10, Test 11, etc..."

var doc = app.activeDocument;  

idLayers("Test "); // Rename visible layers 


// Hidden layers will be skipped and not counted
function idLayers(prefix){ 
  var counter = 1; 
  for(i=0;doc.layers.length>i;i++){ 
    var currentLayer = doc.layers[i]; 

    // if layer is visible...
    if (currentLayer.visible) {
      currentLayer.name= prefix + counter;
      counter++;  
    }

  }  
}    

我发现以下内容会有所帮助,但我不确定将其添加到上述代码的何处。

function pad(n) {
    return (n < 10) ? ("0" + n) : n;
}

这里是菜鸟,如有任何帮助,我们将不胜感激。提前致谢!

您只需在脚本的末尾添加您已经找到的函数(或在开头,这并不重要),然后在图层命名的行中调用它。所以整个脚本看起来像这样:

var doc = app.activeDocument;  

idLayers("Test "); // Rename visible layers 


// Hidden layers will be skipped and not counted
function idLayers(prefix){ 
  var counter = 1; 
  for(i=0;doc.layers.length>i;i++){ 
    var currentLayer = doc.layers[i]; 

    // if layer is visible...
    if (currentLayer.visible) {
      currentLayer.name= prefix + pad(counter);
      counter++;  
    }

  }  
}

function pad(n) {
  return (n < 10) ? ("0" + n) : n;
}