Rename Month Name to Month Integer, Rearrange and Cleanup Dates

I think this does everything:

Rename preset:

Alternatively, open the Rename dialog, click Edit Script, and paste this in:

function OnGetNewName(getNewNameData)
{
	var name = getNewNameData.newname_stem_m;
	var ext = getNewNameData.newname_ext_m;

	var re = /(^.*\()([A-Za-z]{3} \d{1,2}, \d{4})(\).*$)/;

	var dateStr = name.replace(re, "$2");
	if (dateStr == name)
		return true; // Skip this file.
	var before = name.replace(re, "$1");
	var after = name.replace(re, "$3");

	var date = new Date(Date.parse(dateStr));
	if (isNaN(date))
		return true; // Skip this file.

	var y = date.getFullYear();
	var m = date.getMonth()+1;
	var d = date.getDate();

	dateStr = ZeroPad(y,4) + "-" + ZeroPad(m,2) + "-" + ZeroPad(d,2);

	res = before + dateStr + after + ext;
	return res;
}

function ZeroPad(s,c)
{
	s = s + "";
	while(s.length < c)
	{
		s = "0" + s;
	}
	return s;
}
4 Likes