不清楚你的实际文件/情况,仅以问题中的说明及猜测为据;以下代码复制粘贴到记事本,另存为xx.bat,编码选ANSI,跟要处理的文件放一起双击运行
---------------------------------------------------
/*&cls&echo off&cd /d "%~dp0"&mode con lines=5000
rem 对当前目录里的mp4视频文件和jpg图片文件名称开头前面分别添加创建媒体日期和拍摄日期
set #=Any question&set _=WX&set $=Q&set/az=0x53b7e0b4
title %#% +%$%%$%/%_% %z%
dir /a-d-h/b *.mp4 *.jpg|cscript -nologo -e:jscript "%~f0"
echo;%#% +%$%%$%/%_% %z%
pause
exit
*/
var sa=new ActiveXObject('Shell.Application');
var fso=new ActiveXObject('Scripting.FileSystemObject');
var tmpfolder=sa.NameSpace(0);
var num=[0,0];
for(var i=0;i<=400;i++){
if(tmpfolder.GetDetailsOf(null, i) == '创建媒体日期'){
num[0]=i;
}else{
if(tmpfolder.GetDetailsOf(null, i) == '拍摄日期'){num[1]=i;}
}
}
function addzero(z){return Number(z)<10?'0'+z.toString():z.toString();}
while(!WSH.StdIn.AtEndOfStream){
var it=WSH.StdIn.ReadLine();
var file=fso.GetFile(it);
var objfolder=sa.NameSpace(file.ParentFolder.Path);
var objitem=objfolder.ParseName(file.Name);
var d='', m=null;
for(var i=0;i<num.length;i++){
var val=objfolder.GetDetailsOf(objitem, num[i]);
m=val.match(/^\D*(\d+)\D+(\d+)\D+(\d+)/);
if(m){d=m[1]+addzero(m[2])+addzero(m[3]);break;}
}
if(d != ''){WSH.StdErr.WriteLine(it+' --> '+d+'+'+file.Name);}
}
WSH.Quit();
温馨提示:答案为网友推荐,仅供参考