想整理下手里的照片,懒得装管理软件了,只想简单的按日期整理。心想这种脚本应该是满大街的了,结果简单搜了下居然没搜到windows下顺手的,索性自己写了一个。
用法是,把下面代码保存成 .js 文件,放到要处理的文件夹下运行即可。可处理 jpg和nef文件。
注1:之所以没有使用文件创建日期,是因我一旦照片经过复制后,文件创建日期就变成了复制的时间了。但就算复制后,文件修改时间还是之前照片的拍摄时间,所以才用了文件最后修改时间。
注2:修改第3行可以变更待处理照片的地址。比如改成
f = fso.GetFolder("G:/DCIM/109D7000");
就可以直接处理存储卡中的照片了。
注3:修改第11行可变更目标地址。比如改成 s.move("d:/photo/" + path + "/")
就可以让照片都保存到 d:\photo 下了。
fso = new ActiveXObject(“Scripting.FileSystemObject”);
f = fso.GetFolder(“.”);
fc = new Enumerator(f.files);
for (; !fc.atEnd(); fc.moveNext()){
s = fc.item();
if(!/(.jpg|.nef)$/.test(s.name.toLowerCase()))continue;
d = new Date(s.dateLastModified);
path = d.getFullYear() + lz(d.getMonth() + 1) + lz(d.getDate());
if(!fso.FolderExists(path))fso.CreateFolder(path);
s.move(path + “/”)
}
function lz (num) {
return num > 9 ? “” + num : “0” + num;
}