<?xml version="1.0" encoding="UTF-8"?>
<rename_preset case="none" group="序号编号" ignoreext="yes" script="yes" type="normal" version="13">
	<from>*</from>
	<to>*</to>
	<script>@script jscript
//OnGetNewName函数是个循环体，对每个选中文件都执行
//在进入OnGetNewName循环体之前，先定义 开始值，位数值，步长值
var startN=1, padTo=3, step=1;

function OnGetNewName(getNewNameData)
{
	if (padTo&lt;1) padTo = 1;
	var prefix = startN;
	
	var excl = getNewNameData.custom.excludeStr;//获取自定义字段 排除字符
	excl = excl.replace(/(^\s*|\s*$)/g, &quot;&quot;);//删除前后空格
	if (excl) var re = new RegExp(excl,&quot;i&quot;);//创建正则表达式对象
	if (excl &amp;&amp; re.test(getNewNameData.item.name))
			return true;//如果包含指定字符串，不改名
	else {
		var prelen = prefix.toString().length;
		if (prelen &lt; padTo){
			//prefix = Number(1).toFixed(padTo-prelen).toString().slice(2) + prefix;//不足位数则前面补0
			prefix = Array(padTo-prelen+1).join(&quot;0&quot;) + prefix;
		}
		//prefix += &quot; &quot;+getNewNameData.newname_stem_m;//编号+原文件名
		startN += step;//开始值+步长值，循环到下一个文件时被使用
		//DOpus.Output(prefix);
		return prefix + getNewNameData.newname_ext_m;
	}
}

function OnGetCustomFields(getFieldData)
{
    getFieldData.fields.excludeStr = &quot;&quot;;
    getFieldData.field_labels(&apos;excludeStr&apos;) = DOpus.strings.Get(&apos;excludeStr&apos;);
	getFieldData.field_tips(&quot;excludeStr&quot;) = &quot;包含该字符的文件名不被改名，多字符串用|分割&quot;
}

==SCRIPT RESOURCES
&lt;resources&gt;
    &lt;resource type=&quot;strings&quot;&gt;
        &lt;strings lang=&quot;english&quot;&gt;
            &lt;string id=&quot;excludeStr&quot; text=&quot;Exclude Strings&quot; /&gt;
        &lt;/strings&gt;
        &lt;strings lang=&quot;chs&quot;&gt;
            &lt;string id=&quot;excludeStr&quot; text=&quot;排除字符&quot; /&gt;
        &lt;/strings&gt;
    &lt;/resource&gt;
&lt;/resources&gt;</script>
	<custom>
		<var name="excludeStr" type="8">par</var>
	</custom>
</rename_preset>
