回复 3# Batcher
2楼大神昨晚帮我解决好了。首先十分感谢大神的耐心和负责。
下面说一下解决方法,方便和我一样需求的小白直接带走。
1、通过excel处理好需要的文件名(路径/老文件名.jpg 新文件名)
注意:一定要依据第二列数据排序,让相同的重复数据排在一起。
2、全选处理好的两列数据粘贴到 新建文本文档.txt (注:同时复制两列,不做任何其他处理)
3、复制代码,另存为bat文件- @set @n=0/*&echo off
- dir /a-d/b *.txt|cscript -nologo -E:jscript "%~f0"
- pause&exit */
-
- var TXT = WSH.StdIn.ReadLine();
- var fso=new ActiveXObject('scripting.FileSystemObject');
- fo=fso.OpenTextFile(TXT,1);//读文件
- var ary='';
- var num=0;
- while(!fo.AtEndOfStream)
- {
- line=fo.ReadLine();
- fpath=line.replace(/(.*)\t.*/,'$1');
- newname=line.replace(/.*\t(.*)/,'$1');
-
- if (fso.FileExists(fpath))
- {
- var bfo = fso.GetFile(fpath);//获取文件对象
- } else {continue;}
-
- if(ary.lastIndexOf(newname)==-1) //如果不存在重复文件
- {
- ary='';//清空上组文件名
- num=0;
- ary+=newname;//加载新的文件名
- } else {
- num+=1;
- }
- bfo.Name=newname+'_'+num+'.jpg';//重命名
- }
复制代码 4、txt文件和bat文件放在要处理的目录下,双击BAT文件,就可以了。
5、测试过程很快,几秒钟,11000个文件全部改好了。
最后再次感谢一下大神的无私帮助。 |