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

时间:2017-05-22 14:21:11

标签: macos adobe adobe-illustrator extendscript leading-zero

我有一个脚本可以将我的插图文件的图层名称更改为“测试1,测试2等...”我想要完成的是将前导零添加到单个数字。 “测试01,测试02 ...测试10,测试11等......”

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;
}

这里的总菜鸟所以任何帮助将不胜感激。提前谢谢!

1 个答案:

答案 0 :(得分:1)

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

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;
}